Probleme bei Patch-Erstellung

Fragen zum AKInstallerMSI
Antworten
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Probleme bei Patch-Erstellung

Beitrag von Andreas Kapust »

Hallo Herr Kapust.

....

Die Installation einer Vollversion klappt inzwischen, der nächste Schritt
ist nun die Patch-Erstellung.

Der Patch läuft zwar reibungslos mit Anzeige der richtigen Version durch,
doch die veränderte Datei wird nicht aktualisiert! - Die Log-Datei scheint
die Abweichung alter/neuer Stand zu registrieren - woran kann es also liegen?

Den Aufruf habe ich einmal per Doppelklick und einmal mit "/p patch.msp
REINSTALL=ALL REINSTALL=omus" wie in Ihrer Anleitung beschrieben versucht -
leider ohne Erfolg.

Können Sie weiterhelfen? - Zur Sicherheit eine Anlagen...
Dazu erst einmal ein paar Frage und Anmerkungen:
-Sie haben den Patch aus der alten MSI-Version
(C:\Programme\AKInstallerMSI\Create\MSI_Sich\Projekt_01\Setup.msi)
welche auch installiert und danach gesichert und nicht erneut
erstellt
wurde und der neuen
C:\Programme\AKInstallerMSI\Create\MSI_Sich\Projekt_011\Setup.msi
erstellt?

Der Ablauf ist:
-Version 1.0 erstellen und am besten über Ausliefern wegsichern!
-Version 1.0 an die Kunden liefern
-Geld und Ruhm kassieren (sehr wichtig!)
-Weiterentwickeln und Version 1.1 fertig stellen
-Sich fragen: "Hab ich den Feature-Aufbau geändert (siehe Anleitung)
+Haben Sie scheinbar nicht.
-Aufbau geändert -> Majorupdate (kein Patch)
-Aufbau nicht geändert -> Minor/Small Update (Patch)
-Neues Setup erstellen und wegsichern(!)
-Patchen: alte Version (die Weggesicherte und an Kunden verteilte!!!!)
einbinden und neue Version (die Weggesicherte) einbinden -> erstellen.
-Testrechner anschmeißen (besser aber unter VMWare und die nutze ich mal im Beispiel)[VMWare kann auch für Virtual PC stehen]
-VMWare zurücksetzen Version 1.0 (MSI) installieren
-Patch V1.1 aus (MSP) [ohne Parameter] ausführen
-Geht? Super!
-Geht nicht? VMWare zurücksetzen, V1.0 installieren, V1.1 mit Logfile installieren:
+msiexec /p patch.msp /lvx* C:\Logfile.txt
-Logfile ansehen warum es nicht geklappt hat (o. Herrn Kapust fragen)

Keine VMWare? Virtual PC natürlich geht auch und kostet nix. (Bei MS zu beziehen)

Patch klappt nicht auf Testrechner?
-Wurde auf dem schon öfters Version 1.0 installiert und ausprobiert ohne ihn per Image oder VMWare zurückzusetzen?
+Ja: Selten, aber manchmal kommt der Windows Installer durcheinander, dann Win Install Clean Up bei MS suchen, installieren und V1.0 damit killen. Datei-Reste aus INSTALLDIR entfernen, notfalls auch Reg-Einträge.
+Testen

Patch klappt nicht auf Testrechner unter VMWare/Virtual PC
-Zurücksetzen V1.0 dann Patch installieren.
-Geht nicht? Dann mit Logfile


Zusammenfassend:
Beim Patch muss die alte Version genau die sein, die auch installiert wurde. Es darf also keine erneut erstellte aber nicht installierte Version sein. Der Feature-Aufbau darf sich nicht geändert haben (Dateien in andere Verzeichnisse verschoben, Feature verändert etc.) und der ProductCode darf nicht geändert werden.
Weitere Einzelheiten dazu in der Anleitung.
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Nachtrag

Beitrag von Andreas Kapust »

Wie sich mittels Logfile rausstellte, scheiterte die Aktualisierung an einer unversionierten Datei (.MDE).

Code: Alles auswählen

MSI (s) (CC:1C) [15:32:16:843]: File: ...\Datei.mde; Won't Overwrite; Smart patch; Existing file is unversioned but modified
Baseline: FL_17_Daiei_mde not touched in this transaction, no cache created
Skipping all patches for file '.....\Datei.mde'. File does not need to be patched.
Hier muss der Datei künstlich eine Versionsnummer gegeben werden.
Dateien-Seite: Datei doppelt anklicken -> Allgemein ->Version -> (Null) durch 1.0 erstetzen - fertig.

Im nächsten Update (> V1.4.110) wird es möglich sein [ProductVersion] und einen Platzhalter für das Dateidatum in Form von YYYY.MM.DD zu nutzen.
Es reicht aber, dieser Datei einmal eine Version zu geben, damit sie immer aktualisiert wird.
Antworten