7 Stimmen

Wie kann man ein einfaches Installationssystem für VB6 auf XP/Vista und neueren Versionen erstellen?

Die Betonung liegt auf einfach. Ich habe noch nie ein Installationsprogramm erstellt und möchte auch nicht viel lernen müssen. Ein System, dem ich einen Stapel von Dateien übergeben kann und das mir sagt, wo es sie ablegen soll, wäre ideal.

Beantworten Sie bitte die allgemeine Frage.

In meinen Fällen bin ich jedoch mit einigen zusätzlichen Einschränkungen konfrontiert. Das zu installierende Programm ist in VB6 (oder ist es 5?) und ein paar früheren VB-Versionen geschrieben, also ist es no in absehbarer Zeit aktualisiert werden wird. Ich habe eine laufende Installation und werde eine saubere VM haben, mit der ich spielen kann. Ich werde also eine Schleife durchlaufen: die Installation ausführen, den Fehler finden, ihn beheben, ihn zum Installationsprogramm hinzufügen, die VM zurücksetzen, es erneut versuchen. Wenn jemand einen besseren Ansatz hat, bin ich offen für Vorschläge.

I MUSS es unter XP zum Laufen zu bringen, und ich würde wirklich gerne etwas haben, das auch unter neueren Windows-Versionen funktioniert.

11voto

Imran Punkte 81131

InnoSetup o NSIS je nachdem, was Ihnen einfacher erscheint. ISTool ist ein nettes GUI-Tool für InnoSetup, das die Erstellung von Setup-Skripten noch einfacher macht.

5voto

Brian Ensink Punkte 10994

Ich habe InnoSetup vor einigen Jahren, vor Vista, benutzt und war damals sehr zufrieden damit. Ich hatte nur ein paar Dateien zu installieren und ein Startmenü-Symbol. Es hat großartig funktioniert und war leicht zu erlernen.

4voto

Nick Punkte 13044

Abhängigkeits-Walker ist sehr nützlich, um herauszufinden, welche DLL im Installationsprogramm fehlt. Sobald Sie die dll kennen, können Sie herausfinden, in welchem Merge-Modul sie sich befindet, indem Sie die Merge-Modul-Finder .

1voto

Tanerax Punkte 5786

Ich habe mit NSIS gearbeitet, und wenn man einige der kleineren Komplexitäten überwindet, ist es ein fantastisches System. Es ist kostenlos, bietet eine Menge Plugin-Fähigkeiten und konnte alles tun, was ich tun musste.

1voto

Bob77 Punkte 13047

Die Erstellung eines vollständigen Installationspakets für ein Programm ist fast ein eigenes Fachgebiet. Es gibt viele Faktoren zu berücksichtigen, und die meisten von uns arbeiten nicht mehr mit Windows 95. Die Welt ist nicht mehr so einfach, wie sie einmal war.

Es gibt viele Dinge, die angegangen werden müssen, und einige dieser "Setup"-Probleme bedeuten auch eine Änderung des Programms. Zum Beispiel das Konzept der "geschützten Ordner", das den Leuten neu zu sein schien, als Vista UAC auf den Plan trat. Ich vermute, dass sie alle als Administrator oder so arbeiteten? In seiner einfachsten Form bedeutet es, dass Sie keine beschreibbaren Dateien mehr neben der EXE in Programme (auch bekannt als "Programmdateien") ablegen.

Ein weiterer Faktor ist, dass sich die Art und Weise, wie die Registrierung verwendet wird, geändert hat. Ich spreche nicht von der Virtualisierung der Registrierung, obwohl auch das dazugehört. Aber die COM-Registrierung kann sowohl pro Rechner als auch pro Benutzer erfolgen, und selbst das Ausschalten der Benutzerkontensteuerung kann dies durcheinander bringen. Siehe Pro-Benutzer-COM-Registrierungen und erweiterte Prozesse mit UAC unter Windows Vista SP1 . Das Ergebnis ist, dass ein Setup-Paket nicht regsvr32 ausführen sollte (oder anderweitig den selfreg-Einstiegspunkt einer COM-Bibliothek aufrufen). Siehe "Bemerkungen" unter SelfReg-Tabelle .


Windows Installer ist die In den meisten Fällen ist das ein guter Weg, um voranzukommen. VB6-Programmierer können Visual Studio Installer 6.0 Version 1.1 kostenlos herunterladen, um MSI-Pakete zu erstellen. Siehe "COM Servers" im VFP Artikel Verwendung von Microsoft Visual Studio Installer für die Verteilung von Visual FoxPro 6.0-Anwendungen für einige wertvolle Informationen.

Dies ist nicht die einfachste Option, aber es gibt einen VB Setup Wizard in VSI 1.1, der dabei hilft, die Grundlagen richtig zu legen. Fortgeschrittene Dinge wie das Erstellen eines [CommonAppData]-Unterordners und das Festlegen von Rechten für Jedermann müssen in einem Schritt nach der Erstellung außerhalb der IDE erfolgen. Hier können Tools von Drittanbietern nützlich sein, um Ihnen mehr Kontrolle zu geben, ohne auf Orca oder Post-Build-Installer-Skripte zurückgreifen zu müssen.

Diejenigen, die skriptgesteuerte "Legacy"-Installationsprogramme erstellen, versuchen mitzuhalten, aber die Skripterstellung wird immer komplizierter. Die Ergebnisse sind manchmal zweifelhaft. Windows 7 bringt ein paar neue Probleme mit sich.

Während ClickOnce nicht wirklich die beste Option für VB6 ist, spricht nichts dagegen, reg-free COM für XCopy-Installationen vieler Programme zu verwenden. Reg-free COM kann sogar eine gute Option für die Verwendung in einem Installer-Paket für diese Angelegenheit sein.


Der "einfachste" Weg, VB6-Programme zu verteilen, wird also wahrscheinlich ein reg-freies COM XCopy-Paket sein, das in eine selbstextrahierende EXE verpackt ist, die ein Skript auslöst, um eine Startmenü-Verknüpfung zu erstellen. Wenn Sie ohne die Verknüpfung leben können, ist dies sogar noch einfacher: entpacken Sie einfach das Paket dorthin, wo es hin soll!

Siehe Mein Manifest erstellen oder alternative Werkzeuge für reg-freie COM-Pakete.

Dies setzt voraus, dass auf den Zielsystemen XP (vorzugsweise SP2) oder höher läuft. Der einzige mögliche Fehler ist, dass XP die VB6 SP6-Laufzeiten erst mit XP SP3 enthält, so dass Sie Ihr Programm zuerst mit den VB6 SP5-Laufzeiten testen sollten. Ein weiteres Problem: Sie können auf diese Weise keine ActiveX-EXEs verwenden, da diese immer noch registriert werden müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X