Wie erstelle ich ein einfaches Installationssystem für VB6 unter XP / Vista und neuer? [geschlossen]

8

Schwerer Schwerpunkt auf einfach. Ich habe noch nie einen Installer gemacht und ich möchte lieber nicht viel lernen. Ein System, dem ich einen Stapel von Dateien übergeben könnte, und es würde einige schlaue Vermutungen darüber, wo sie platziert werden, wäre ideal.

Gehen Sie voran und beantworten Sie die allgemeine Frage.

Aber in meinen Fällen stehe ich mit einigen zusätzlichen Einschränkungen fest. Das zu installierende Programm ist in VB6 geschrieben (oder ist es 5?) Und einige vorherige Versionen von VB, so dass es nicht wird bald aktualisiert werden. Ich habe eine laufende Installation und werde eine saubere VM haben, mit der ich spielen kann. Also mache ich eine Schleife von: führe die Installation aus, finde wo sie kaputt ist, behebe sie, füge sie dem Installer hinzu, stelle die VM zurück, versuche es erneut. Wenn jemand einen besseren Ansatz hat, bin ich offen für Vorschläge.

Ich MUSS es auf XP funktionieren lassen und ich würde auch gerne etwas haben, das auch auf neueren Versionen von Windows funktioniert.

    
BCS 23.08.2008, 01:50
quelle

7 Antworten

11

InnoSetup oder NSIS , je nachdem scheint dir einfacher zu sein. ISTool ist ein nettes GUI-Tool für InnoSetup, das das Erstellen von Setup-Skripten noch einfacher macht.

    
Imran 23.08.2008, 02:16
quelle
5

Ich habe InnoSetup vor einigen Jahren, vor Vista, benutzt und war dann sehr glücklich damit. Ich hatte nur ein paar Dateien zu installieren und ein Startmenü-Symbol. Es funktionierte großartig und war leicht zu lernen.

    
Brian Ensink 23.08.2008 03:26
quelle
4

Dependency Walker ist sehr nützlich, um herauszufinden, welche DLL im Installer fehlt. Sobald Sie die DLL kennen, können Sie mit dem Merge Module Finder herausfinden, welches Merge-Modul es ist .

    
Nick 23.08.2008 01:57
quelle
1

Ich habe mit NSIS gearbeitet und einige seiner kleinen Komplexitäten überwunden, es ist ein fantastisches System. Es ist kostenlos, bietet viele Plug-in-Fähigkeiten und hat alles getan, was ich tun musste.

    
Tanerax 23.08.2008 02:19
quelle
1

Das Erstellen eines vollständigen Setup-Pakets für ein Programm ist fast schon ein Thema. Es gibt viele Faktoren, die zu berücksichtigen sind, und die meisten von uns führen Windows 95 nicht mehr aus. Die Welt ist nicht so einfach wie früher.

Es gibt viele Dinge, die angesprochen werden müssen, und einige dieser "Setup" Probleme bedeuten auch das Ändern 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 nehme an, sie liefen alle als Admin oder so? In seiner einfachsten Form bedeutet dies, dass Sie keine schreibbaren Dateien neben der EXE in Programme (auch "Programme" genannt) mehr platzieren.

Ein weiterer Faktor ist, dass sich die Art, wie die Registrierung verwendet wird, geändert hat. Ich spreche nicht über Registry-Virtualisierung, obwohl das auch ein Teil davon ist. Aber die COM-Registrierung kann sowohl pro Maschine als auch pro Benutzer durchgeführt werden, und selbst das Ausschalten von UAC kann dies zunichte machen. Siehe Benutzerspezifische COM-Registrierungen und erhöhte Prozesse mit UAC unter Windows Vista SP1 . Das Ergebnis ist, dass ein Setup-Paket Regsvr32 nicht ausführen sollte (oder andernfalls den Selbstreg-Eintragspunkt einer COM-Bibliothek aufruft). Siehe "Hinweise" in der SelfReg-Tabelle .

Windows Installer ist der Weg, um in den meisten Fällen vorwärts zu gehen. VB6-Programmierer haben Visual Studio Installer 6.0 Version 1.1 als kostenlosen Download zum Erstellen von MSI-Paketen zur Verfügung. Siehe "COM-Server" im VFP-Artikel Verwenden des Microsoft Visual Studio-Installationsprogramms zum Verteilen von Visual FoxPro 6.0-Anwendungen für einige wertvolle Informationen.

Dies ist nicht die einfachste Option, aber es gibt einen VB-Setup-Assistenten in VSI 1.1, um die Grundlagen richtig zu machen. Fortgeschrittene Dinge wie das Erstellen eines [CommonAppData] -Unterordners und das Setzen von Everyone-Rechten darauf müssen in einem Post-Build-Schritt außerhalb der IDE erledigt werden. Das ist der Punkt, an dem Tools von Drittanbietern nützlich sein können, um Ihnen mehr Kontrolle zu geben, ohne auf Orca zurückgreifen oder Installer-Skripte nachbasteln zu müssen.

Diese Leute, die "veraltete" Installationsprogramme erstellen, versuchen zwar Schritt zu halten, aber das Scripting wird immer komplizierter. Die Ergebnisse sind manchmal zweifelhaft. Windows 7 führt einige neue Falten ein.

Obwohl ClickOnce nicht die beste Option für VB6 ist, gibt es keine Möglichkeit, reg-free COM für XCopy-Installationen vieler Programme zu verwenden. Reg-freie COM kann sogar eine gute Option für die Verwendung in einem Installer-Paket für diese Angelegenheit sein.

Am Ende wird der "einfachste" Weg zur Bereitstellung von VB6-Programmen wahrscheinlich reg-freie COM-XCopy-Pakete sein, die in eine selbstextrahierende EXE-Datei eingebettet sind, die ein Skript zum Erstellen einer Startmenü-Verknüpfung auslöst. Wenn Sie ohne die Verknüpfung leben können, ist dies noch einfacher: Entpacken Sie einfach das Paket, wo es hin muss!

Siehe Make My Manifest oder alternative Tools für die reg-freie COM-Paketierung.

Dies erfordert, dass auf den Zielsystemen XP (vorzugsweise SP2) oder höher ausgeführt wird. Der einzige mögliche Fehler hier ist, dass XP die VB6 SP6 Laufzeiten bis XP SP3 nicht enthalten, also sollten Sie zuerst Ihr Programm gegen die VB6 SP5 Laufzeiten testen. Nun, noch ein Fehler: Sie können ActiveX-EXEs nicht auf diese Weise verwenden, sie müssen noch registriert werden.

    
Bob77 25.08.2009 13:32
quelle
0

Mein Rat ist das. Versuchen Sie, das Installationsprogramm so einfach wie möglich zu halten. Windows Installer ist ein sehr kompliziertes Stück Software und wenn Dinge nicht richtig funktionieren, kann es schwierig sein, herauszufinden, was vor sich geht. Ich bin sicher, dass wir alle die Endlosschleife von Windows Installer erlebt haben, die versucht, eine Datei zu reparieren, für die Sie nicht mehr die .msi-Quelldatei haben.

Die meiste Zeit mit Windows Installer ist wie mit einem Vorschlaghammer, um eine Nuss zu knacken.

Ich verwende InnoSetup für meine eigenen Sachen und InstallShield bei der Arbeit (gegen meinen Willen). Beginnen Sie mit einem einfachen skriptbasierten Installationsprogramm und verwenden Sie Windows Installer nur, wenn Sie einen guten Grund dafür haben.

Beachten Sie, dass die Unterstützung für das Installieren von Assemblys auf dem GAC für einige Setup-Tools nicht von Windows Installer (wie InnoSetup) fehlt.

    
jmatthias 30.08.2008 02:44
quelle
0

Ich verwende um Inno Setup zu LIEBEN. Schwerpunkt auf "gewohnt".

Wenn Sie das Installationsprogramm für einzelne Dateien ausführen (was Sie normalerweise tun würden), entpackt es das echte Setup-Programm in einen Ordner unter dem Ordner temp und versucht dann, es auszuführen. Das Problem ist ... einige Antivirenprogramme erlauben dies nicht.

Der Autor ist sich dessen bewusst und weigert sich, etwas dagegen zu tun. Der Ordnername ist zufällig und kann daher keiner Ausnahmeliste hinzugefügt werden, die Ihr Antivirenprogramm verwenden könnte.

Wieder. Der Autor ist sich dessen bewusst und schlägt vor, dass ich meinen Benutzern rufe, ihre Antivirenprogramme während der Installation zu deaktivieren. (Wie wird das passieren)

    
Brad Bruce 11.12.2008 11:51
quelle

Tags und Links