Hallo zusammen!
Zur Installation und für Updates benutzen wir eine eigene Setup.exe, die neben der eigentlichen MSI-Installation auch noch ein paar Dinge mehr übernimmt. Ein Major-Update steuern wir über eine eigene Konfiguration, unabhängig von Versionsnummern und Umfang der Änderungen. Wenn wir ein großes Update durchführen wollen, deinstalliert die SetupExe einfach das alte MSI und führt danach mit dem Neuen eine "normale" Installation durch.
Das Problem ist nun, dass die Deinstallation der Vorgängerversion nicht alle Dateien entfernt. Aufgrund offener Filehandles oder externer Zugriffe können dabei nicht immer alle Daten gelöscht werden. Die nachfolgende Installation überschreibt diese Dateien nun nicht, womit wir einen Stand haben, der nicht läuft.
Im Log des Installers werden zudem keinerlei Probleme vermerkt. Das Setup läuft ohne Fehlermeldung durch.
Was machen wir falsch? Gibt es eine Möglichkeit, dem Uninstall zu sagen, dass er wirklich alles entfernen soll? Oder wie kann ich der Installation mitteilen, dass alle Dateien unbedingt geschrieben werden sollen?
Müssen wir die alte Installation überhaupt selbst entfernen, oder kann ich nicht dem MSInstaller beim Installieren der neuen Version mitteilen, dass er ein Major-Update durchführen soll? Ich weiß, dass das beim Minor-Update geht, für's Major habe ich das noch nicht probiert. Reicht hier das hochsetzen der Versionsnummer und das Ändern des Produkt-Codes?
Gruß
Meg