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

StackOverflow https://stackoverflow.com/questions/23836

  •  09-06-2019
  •  | 
  •  

Frage

Starke Betonung auf einfach.Ich habe noch nie ein Installationsprogramm erstellt und möchte lieber nicht viel lernen.Ideal wäre ein System, dem ich einen Stapel Dateien übergeben könnte und das einige kluge Überlegungen darüber anstellt, wo sie abgelegt werden sollen.

Beantworten Sie die allgemeine Frage.

In meinen Fällen muss ich jedoch einige zusätzliche Einschränkungen einhalten.Das zu installierende Programm ist also in VB6 (oder ist es 5?) und einigen früheren Versionen von VB geschrieben nicht wird demnächst aktualisiert.Ich habe eine laufende Installation und werde eine saubere VM zum Spielen haben, also mache ich eine Schleife von:Führen Sie die Installation aus, finden Sie heraus, wo der Fehler liegt, reparieren Sie ihn, fügen Sie ihn dem Installationsprogramm hinzu, setzen Sie die VM zurück und versuchen Sie es erneut.Wenn jemand einen besseren Ansatz hat, bin ich für Vorschläge offen.

ICH MUSS Bringen Sie es unter XP zum Laufen und ich hätte wirklich gerne auch etwas, das auch auf neueren Windows-Versionen funktioniert.

War es hilfreich?

Lösung

InnoSetup oder 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.

Andere Tipps

Ich habe InnoSetup vor einigen Jahren vor Vista verwendet und war damals sehr zufrieden damit.Ich musste nur ein paar Dateien installieren und ein Startmenüsymbol.Es hat super funktioniert und war leicht zu erlernen.

Abhängigkeit Walker ist sehr nützlich, um herauszufinden, welche DLL im Installationsprogramm fehlt.Sobald Sie die DLL kennen, können Sie mithilfe von herausfinden, um welches Merge-Modul es sich handelt Merge-Modul-Finder.

Ich habe mit NSIS gearbeitet und es ist ein fantastisches System, einige seiner kleineren Komplexitäten zu überwinden.Es ist kostenlos, bietet jede Menge Plugin-Funktionen und hat alles geschafft, was ich tun musste.

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

Es gibt viele Dinge, die angegangen werden müssen, und einige dieser „Setup“-Probleme erfordern 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 Markt kam.Ich schätze, sie waren alle als Administratoren aktiv oder so?In seiner einfachsten Form bedeutet dies, dass Sie keine beschreibbaren Dateien mehr neben der EXE-Datei in „Programme“ (auch „Programmdateien“ genannt) ablegen.

Ein weiterer Faktor ist, dass sich die Art und Weise, wie die Registrierung verwendet wird, geändert hat.Ich rede hier nicht von Registry-Virtualisierung, obwohl das auch dazugehört.Die COM-Registrierung kann jedoch sowohl pro Maschine als auch pro Benutzer erfolgen, und selbst das Deaktivieren der Benutzerkontensteuerung kann zu Problemen führen.Sehen COM-Registrierungen pro Benutzer und erweiterte Prozesse mit UAC unter Windows Vista SP1.Das Ergebnis ist, dass ein Setup-Paket nicht regsvr32 ausführen sollte (oder auf andere Weise den Selbstregistrierungs-Einstiegspunkt einer COM-Bibliothek aufrufen sollte).Siehe „Bemerkungen“ unter SelfReg-Tabelle.


Windows Installer ist Die In den meisten Fällen ist dies der richtige Weg.Für VB6-Programmierer steht Visual Studio Installer 6.0 Version 1.1 als kostenloser 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 in VSI 1.1 gibt es einen VB-Setup-Assistenten, der dabei hilft, die Grundlagen richtig zu machen.Erweiterte Dinge wie das Erstellen eines Unterordners [CommonAppData] und das Festlegen der Rechte „Jeder“ dafür müssen in einem Post-Build-Schritt 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.

Die Leute, die geskriptete „Legacy“-Installationsprogramme entwickeln, versuchen mitzuhalten, aber die Skripterstellung wird immer komplizierter.Die Ergebnisse sind manchmal zweifelhaft.Windows 7 bringt einige neue Neuerungen mit sich.

Obwohl ClickOnce nicht wirklich die beste Option für VB6 ist, gibt es nichts, was besagt, dass Sie reg-freies COM nicht für XCopy-Installationen vieler Programme verwenden können.Registrierfreies COM kann sogar eine gute Option für die Verwendung in einem Installationspaket sein.


Letztendlich besteht die „einfachste“ Möglichkeit zur Bereitstellung von VB6-Programmen wahrscheinlich aus reg-freien COM XCopy-Paketen, die in einer selbstextrahierenden EXE-Datei verpackt sind und ein Skript zum Erstellen einer Startmenüverknüpfung auslösen.Wenn Sie ohne die Abkürzung leben können, ist dies noch einfacher:Entpacken Sie einfach das Paket dort, wo es hingehört!

Sehen Machen Sie mein Manifest oder alternative Tools für reg-freie COM-Paketierung.

Dies erfordert, dass auf den Zielsystemen XP (vorzugsweise SP2) oder höher ausgeführt wird.Der einzig mögliche Fehler hier besteht darin, dass XP die VB6 SP6-Laufzeiten bis XP SP3 nicht enthielt, daher sollten Sie Ihr Programm zuerst mit den VB6 SP5-Laufzeiten testen.Nun, noch ein Fehler:Sie können ActiveX-EXE-Dateien auf diese Weise nicht verwenden, sie erfordern dennoch eine Registrierung.

Mein Rat ist dieser.Versuchen Sie, das Installationsprogramm so einfach wie möglich zu halten.Windows Installer ist eine sehr komplizierte Software, und wenn etwas nicht richtig funktioniert, kann es schwierig sein, herauszufinden, was los ist.Ich bin mir sicher, dass wir alle schon einmal die Endlosschleife erlebt haben, in der Windows Installer versucht, eine Datei zu reparieren, für die Sie nicht mehr über die .msi-Quelldatei verfügen.

Meistens ist die Verwendung von Windows Installer so, als würde man mit einem Vorschlaghammer eine Nuss 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 die Installation von Assemblys im GAC für einige Nicht-Windows-Installer-Setup-Tools (z. B. InnoSetup) möglicherweise fehlt.

ICH gebraucht Ich LIEBE Inno Setup.Betonung auf „gewohnt“.

Wenn Sie das Einzeldatei-Installationsprogramm ausführen (was Sie normalerweise tun würden), entpackt es das eigentliche Setup-Programm in einen Ordner unter dem temporären Ordner und versucht dann, es auszuführen.Das Problem ist...Einige Antivirenprogramme lassen dies nicht zu.

Der Autor ist sich dessen bewusst und weigert sich, etwas dagegen zu unternehmen.Der Ordnername ist zufällig und kann daher keiner Ausnahmeliste hinzugefügt werden, die Ihr Antivirenprogramm möglicherweise verwendet.

Wieder.Der Autor ist sich dessen bewusst und empfiehlt meinen Benutzern, ihre Antivirenprogramme während der Installation auszuschalten.(Als ob das passieren würde)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top