2009-03-13 16 views

Antwort

1

Mit einem MSI-basierten Projekt würde dies durch Konfigurieren eines Major Upgrade für Ihr Projekt erreicht werden. Für InstallScript-Projekte gibt es keine Upgrades. Es gibt jedoch keine Windows Installer-Einschränkungen, die verhindern, dass mehrere Installationen gleichzeitig ausgeführt werden. Sie sollten die Deinstallation der vorherigen Version einfach manuell in Ihrem InstallScript-Code ausführen können (möglicherweise in der Funktion OnFirstUIBfore).

+0

Eigentlich gibt es Einschränkungen für die gleichzeitige Ausführung mehrerer Installationen. (Sie können z. B. kein Installationsprogramm von einem anderen installieren.) Daher müssen Sie eine Bootstrap-Anwendung erstellen, wenn Ihr Installationsprogramm alle erforderlichen Voraussetzungen für Ihre MSI installieren soll. Ich weiß nicht genau, welche Version von Windows Installer diese Einschränkungen (2.0?) Implementiert, aber es ist irgendwo dokumentiert. – RobH

+3

Ich dachte, die ursprüngliche Frage betraf InstallScipt-Installationen, nicht MSI-Installationen. InstallScript-only-Installation hat nicht die Einschränkungen von Windows Installer, da sie kein MSI verwenden, so dass Sie mehrere von ihnen gleichzeitig ausführen können. Aus diesem Grund kann eine InstallScript-Installation als "Bootstrapper" für andere Installationen (einschließlich MSI-Installationen) verwendet werden. –

2

Angenommen, dies ist kein MSI-Projekt und Sie haben die gleiche Projekt-GUID behalten, können Sie einfach ComponentUninstall() in der OnMaintUIBefore-Funktion aufrufen. Wenn die Projekt-GUID nicht die gleiche ist, können Sie die Deinstallationszeichenfolge in der Registrierung unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{PROJECT_GUID} ansehen und dann eine LaunchApp mit diesem ausführen.

Ich hoffe, es hilft.

Verwandte Themen