2009-06-27 3 views
5

Meine Firma entwickelt eine Anwendung, die von einer anderen unserer Anwendungen abhängig ist. Diese zweite Anwendung hat bereits ein Inno Setup-Installationsprogramm.Führen Sie ein anderes Installationsprogramm in einer Inno Setup-Installation aus

Also ich denke, ich möchte das Installationsprogramm der zweiten Anwendung im Inno Setup-Installer für die erste Anwendung bündeln. Aber ich bin mir nicht sicher, wie ich das richtig machen soll. Kennt jemand den "richtigen Weg" dazu?

Ich fand dies: Inno Setup Knowledge Base—HOWTO: Install .MSI files. Ich nehme an, die Technik könnte für ein verschachteltes Inno Setup-Installationsprogramm verwendet werden. Aber ich habe ein paar Fragen zu den feinen Details:

  1. Wie könnte ich es so machen, wenn die erste Anwendung deinstalliert wird, ist die zweite auch deinstalliert?
  2. Ist das eine vernünftige Sache (automatisch die zweite Anwendung zu deinstallieren), oder sollte ich es dem Benutzer überlassen, das manuell zu tun?
  3. Wenn der Benutzer versucht, die zweite Anwendung zu deinstallieren, während die erste deinstalliert wird, sollte ich das irgendwie erkennen und eine Warnung ausgeben? Wie könnte ich das tun?

Antwort

2

Für die Ebene der Uninstaller Funktionalität, die Sie sprechen, schlage ich vor, Sie lernen Pascal Scripting in Inno Setup kennen (wenn Sie nicht bereits sind). Es bietet unglaubliche Anpassungsfähigkeit, aber hat den Vorbehalt, Ihre Projekte viel komplexer zu machen.

Ihre dritte Frage zuerst zu beantworten:

Ja, Sie sollten dies tun. Um dies richtig zu machen, müssen Sie diese Funktionalität dem Deinstallationsprogramm der zweiten Anwendung hinzufügen (d. H. Derjenigen, von der Ihre App abhängig ist). Siehe Uninstall event functions in der Inno-Setup-Hilfe. Sie müssen dieses Deinstallationsprogramm einchecken, wenn Ihre App installiert ist (indem Sie z. B. prüfen, ob HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName vorhanden ist) und in diesem Fall eine zusätzliche Warnung anzeigen.

Was Ihre zweite Frage:

Wenn sie aus der Ferne möglich ist, dass Ihr Kunde die zweite App, auch weitermachen will, wenn er entscheidet, dass er die erste deinstallieren will, sollten Sie ihm bieten die Wahl. Ich würde dies mit einer separaten Assistentenseite im Deinstallationsprogramm für Ihre App tun, nachdem Ihre App deinstalliert wurde.

Und schließlich Ihre erste Frage:

Sie müssen die Namen (vollständiger Pfad) von der anderen App Uninstaller exe bestimmen. Sie können es aus dem Registrierungsschlüssel HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName\UninstallString abrufen. Informationen zum Ausführen über ein Skript im Abschnitt [CODE] finden Sie unter Exec in der Inno Setup-Hilfe.

+1

Teilen Sie Code! – tmighty

Verwandte Themen