Ich habe ein InstallShield 12-Installationsskript. Ich möchte die alte Version vor der Installation der neuen Version deinstallieren. Ich werde den Namen des Pakets unverändert beibehalten. Wie kann ich das machen?Erzwingen, dass Installshield vor einer Installation deinstalliert wird
Antwort
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).
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.
- 1. Wie verhindere ich, dass meine App deinstalliert wird?
- 2. Verhindern, dass die .NET-Konfigurationsdatei während der Installation überschrieben wird
- 3. Installshield nach erfolgreicher Installation, startet keine exe
- 4. Erzwingen, dass ein IQueryable ausgeführt wird?
- 5. Wie wird LLVM deinstalliert?
- 6. Arbeiten mit InstallShield 2010. Wie erzwingen Sie einen Neustart
- 7. R: Packrat wird nicht vollständig deinstalliert
- 8. Verhindern, dass das Setup-Projekt den Dienst "Besetzt" deinstalliert
- 9. postgresql Version wird nicht deinstalliert
- 10. Wie InstallShield vorherige Versionen deinstallieren?
- 11. Verhindern, dass eine Methode vor einer anderen aufgerufen wird
- 12. Erzwingen, dass ein Objekt unter ARC freigegeben wird
- 13. PowerShell PackageManagement, wie wird ein Paketanbieter deinstalliert?
- 14. PyQt - Erzwingen, dass eine Registerkarte zuerst angezeigt wird?
- 15. UAC wird beim Aktualisieren der mit installShield erstellten Installation rot angezeigt
- 16. Erzwingen einer Aktion vor einem anderen mit Redux aufgerufen werden
- 17. Wie erzwingen Sie, dass JSP neu kompiliert wird
- 18. Wie erzwingen, dass die Funktion im Konstruktor aufgerufen wird?
- 19. XML (.config) während der Installation ändern (installshield 2010)
- 20. Was kann erzwingen, dass eine nichtflüchtige Variable aktualisiert wird?
- 21. Visual Studio-Setup-Projekt - erzwingen Installation einer .DLL?
- 22. Installshield - Wie installiere ich installshield die gesamte CD?
- 23. Erzwingen, dass eine Anwendung unter einer bestimmten .NET-Laufzeitversion ausgeführt wird?
- 24. Erzwingen, dass SQLite 3.7 im Legacy-Modus ausgeführt wird?
- 25. Erzwingen, dass der Django-Administrator auf Englisch angezeigt wird
- 26. Erzwingen, dass ein PowerShell-Skript als Administrator ausgeführt wird
- 27. Installshield 2015 Premier Edition: Bedingung Benutzerdefinierte Aktion, die am Ende der kleineren Upgrade-Installation ausgeführt wird
- 28. Ausführen von Lösung exe nach der Installation mit installshield
- 29. Wie kann verhindert werden, dass die Android App während der Bereitstellung mit Xamarin Studio deinstalliert wird?
- 30. InstallShield: Wie wird ein Treiber nach der Deinstallation verlassen?
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
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. –