Windows Installer-Patch-Fehler - Execute Sequence wird nach der ersten Aktion angehalten und der Installationsvorgang wird zurückgesetzt

Ich sehe ein ungewöhnliches sporadisches Versagen eines unserer Patches bei mehreren Kunden. Der endgültige Fehlercode lautet 1648 (für den Patchsatz konnte keine gültige Sequenz gefunden werden), was darauf zurückzuführen ist, dass beim Versuch, den Zusammenfassungsdatenstrom aus einer der Patchtransformationen zu lesen, der Fehler 2219 (ungültiges Installer-Datenbankformat) auftritt. Ich vermute aber, dass dies nur ein Nebeneffekt eines früheren stillen Fehlers ist. Unsere Patches verwenden alle die MinorUpdateTargetRTM-Eigenschaft, sodass wirklich nichts zu sequenzieren ist, da alle zuvor installierten Patches automatisch ersetzt werden. Unsere Kunden betreiben in der Regel mehrere hundert nahezu identische Laptops, und die meisten haben dieses Update problemlos installiert. In den meisten Fällen kann nur ein Gerät nicht aktualisiert werden.

Der Schlüsselabschnitt des Protokolls befindet sich unten. Die Initialisierung ist abgeschlossen und der Windows Installer-Serverprozess beginnt mit der Ausführung. Der letzte normale Protokolleintrag lautet "Aktion ausführen: ISSetupFilesExtract". ISSetupFilesExtract ist die erste Aktion in der Ausführungssequenz. Es gibt eine dreiminütige Pause, dann sieht es so aus, als würde die gesamte Installation zurückgesetzt und von vorne begonnen. Der nächste Protokolleintrag wird vom Client-Prozess geschrieben, wobei der Server-Prozess normalerweise die Ausführungssequenz weiterhin ausführt. Ich würde nicht erwarten, einen anderen Protokolleintrag vom Client-Prozess bis zum Ende der Installation zu sehen. Ich vermute, dass hier eine Art katastrophales Versagen auftritt, aber ich weiß nicht, woran es liegen könnte. Erst nach diesem mysteriösen Reset schlägt SequencePatches fehl. Es wurde das erste Mal erfolgreich abgeschlossen.

MSI (s) (C4:58) [09:28:32:565]: Doing action: INSTALL
Action start 9:28:32: INSTALL.
MSI (s) (C4:58) [09:28:32:581]: Running ExecuteSequence
MSI (s) (C4:58) [09:28:32:581]: Transforming table InstallExecuteSequence.
MSI (s) (C4:58) [09:28:32:581]: Transforming table InstallExecuteSequence.
MSI (s) (C4:58) [09:28:32:581]: Note: 1: 2262 2: InstallExecuteSequence 3: -2147287038 
MSI (s) (C4:58) [09:28:32:581]: Doing action: ISSetupFilesExtract

<-- What happened here?! -->

=== Verbose logging started: 7/21/2014  9:31:38  Build type: SHIP UNICODE 5.00.7601.00  Calling process: C:\MyCompany\Pwhc\Apps\AplPch.exe ===
MSI (c) (44:50) [09:31:38:192]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

Meine Frage ist, weiß jemand, was dazu führen könnte, dass der Installationsprozess so "zurückgesetzt" wird, und kann ich etwas dagegen tun? Wie gesagt, dieser Patch wird normalerweise in 99% der Fälle installiert. Das vollständige Protokoll eines ausgefallenen Computers ist verfügbar:https://docs.google.com/document/d/1LK6HdIcetKOGqFbi5nGKAuDolvhZ3PcLxzJHv2wNDsQ/pub. Vielen Dank.

Zusätzliche Informationen als Antwort auf Kommentare:

Unser Produkt verwendet MSIs für Service Pack-Releases und Patches für Point Releases. Jeder Patch ist kumulativ und ersetzt alle vorherigen Patches mit der MinorUpdateTargetRTM-Eigenschaft. Sie werden hauptsächlich zum Aktualisieren von Anwendungsdateien verwendet. Wir fügen immer ganze Dateien hinzu, um die Zuverlässigkeit zu verbessern, und verwenden keine Patches auf Bitebene. Das Basis-MSI ist 46 MB groß und enthält 1778 Dateien (dies ist ein komplexes Unternehmensprodukt). Der Patch, der fehlschlägt, ist mit 57 MB recht groß. Es werden 240 neue Dateien hinzugefügt und 413 vorhandene Dateien aktualisiert.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage