Windows Installer "Fehler 1308. Quelldatei nicht gefunden" beim Deinstallieren des Patches im Sequenz-Szenario

Ich benötige eine Reihe von deinstallierbaren Patches, die mit Patch Design mit Installshield 2012 erstellt wurden. Die ersten beiden Patches funktionieren bei der Deinstallation einwandfrei. Der dritte Patch kann jedoch nur dann Fehler verursachen, wenn er deinstalliert wird, wenn Patch 1 und / oder Patch 2 bereits angewendet wurden:

MSI (c) (48:C4) [19:02:54:135]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
Error 1308.Source file not found: {pathToFile}.  Verify that the file exists and that you can access it.

Es gibt 26 dieser Fehler in Bezug auf verschiedene Dateien. Es gibt kein offensichtliches Muster für die Dateien oder Komponenten oder deren Merkmale

Hinweis: Wenn ich nur Patch 3 installiert habe, führt die Deinstallation NICHT zu diesem Fehler.

Ich habe alle drei Patches mit denselben Optionen in Patch Design erstellt. Der einzige merkliche Unterschied, den ich verstehe, ist, dass Patch 3 viel mehr Änderungen (Datei-Updates) enthält als die ersten beiden. Lassen Sie mich wiederholen: VIELE weitere Änderungen.

Meine Fragen sind:

Warum geschieht dies nur in dem Fall, in dem die Patch-Reihe installiert ist, anstatt nur des dritten Patches selbst?

Was muss ich tun, um zu verhindern, dass der Patch deinstalliert wird, um zu versuchen, Dateien von einem Speicherort abzurufen, der nur zur Entwurfszeit beim Erstellen des Patches verwendet werden sollte? Oder vielleicht ist das Abrufen so gewollt, aber der Cache ist einfach zu überlastet oder verwirrt ..?

UPDATE - MORE INFO (angefordert von Glytzhkof): Der Patch enthält 96 Dateiänderungen, was ungefähr der halben Größe des Basis-MSI-Pakets entspricht. Es ist eigentlich aus der 'Dev'-Zweigarbeit. Es wurden mehrere neue Dateien hinzugefügt. Einige wurden ursprünglich entfernt (mussten zurückgesetzt werden, als ich feststellte, dass wir wirklich einen Patch machten ...). Wenn ich die Situation weiter beschreibe, könnte dies Sie als Fachmann in diesem Bereich beleidigen.

Ich habe versucht, das Haupt-Upgrade zu verkaufen, und es würde nur ein paar Anpassungen am Installationsprogramm erfordern, damit es die Notwendigkeit von Patches überflüssig macht. Für die Deinstallation unseres Produkts sind Parameter erforderlich, damit es nicht interaktiv ist (wir benötigen diesen Parameter, um im Hauptaktualisierungsszenario zu funktionieren; er ist derzeit nur Teil der Deinstallationssequenz). Das ist das einzige wirkliche Problem - aber es zu beheben, würde sich in Pik auszahlen. Es wurde jedoch beschlossen, dieses Problem nicht zu beheben. Ich versuche, dieses Problem bei jeder Iteration zu beheben. Kein Würfel. Wir brauchen Patches für Major Releases - also versuche ich hier, den Schwanz dazu zu bringen, mit dem Hund zu wedeln.

Und ja, Patches können schneller sein (lassen Sie mich hier Devil's Advocate spielen). Aber wirklich der Unterschied zwischen 30 und 90 Sekunden, wann diese Dinge sowieso automatisch eingesetzt werden? Und ja, ich habe auch überlegt, wie ich das Installationsprogramm optimieren kann, indem ich die Dateikosten anpasse, um festzustellen, ob es dadurch schneller wird. Aber selbst dann wird es sicher noch einen weiteren Grund geben, warum ein Patch angefordert wird.

WEITERES UPDATE: Die in den 1308-Fehlern genannten Dateien befinden sich nicht auf dem Zielsystem%windir%Installer\$PatchCache$\Managed\{PackedProductCodeOfMyBaseMSI??}

Mappe. Dies könnte dazu führen, dass der 1308, wenn ich mehr Dateien aus diesem Cache entferne, denselben Fehler erhalte, der der fehlenden Datei entspricht. Die Frage könnte sein, warum nicht ALLE Dateien darin enthalten sindPatchCache Mappe?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage