Patch "verlangt" nach Source! HILFE!!!
Posted 27 January 2005 - 10:12
Ich habe folgendes ganz großes Problem:
Meine Patch "verlangt" nach der ursprünglichen MSI-Installation. Das ist der GAU! Bitte helft mir!
EDIT: Der Patch bricht mit Fehler 1706 (Failed to resolve source) ab!
Ich habe eine Version 1 und eine Version 2 meiner Installation erstellt. Die Version 2 ist ein Major Upgrade (habe leider keine andere Wahl), deshalb habe ich auch bei der Version 2.00 ein Major-Upgrade-Element eingefügt und als Einstellung "Setup installieren und danach nicht benötigte Dateien entfernen" gewählt. Außerdem habe ich bei der Erstellung des Mediums als "vorheriges Paket die Version 1 meiner MSI-Datei angegeben. Anschließend erstelle ich einen Patch aus den zwei Versionen.
Wenn man in die Log-Datei des Patches schaut erkennt man, daß der Patch JEDE Datei (auch alle die sich NICHT geändert haben) neu installiert von Source (wenn die Source verfügbar ist) und anschließend halt manche Dateien patched.
Hier ein Bsp aus dem Log von einer Datei die sich NICHT verändert hat und trotzdem von Source neu überschrieben wird:
CODE |
[...] (STATE) MSI (s) (3C:44): Component: HAF.dll; Installed: Absent; Request: Local; Action: Local [...] (SERVER) MSI (s) (3C:44): Executing op: ComponentRegister(ComponentId={90CF634A-E6BE-11D8-AB23-0050DAC64F84},KeyPath=C:\Program Files\WinAs32_PatchTest2601\HAF.dll,State=3,,Disk=1,SharedDllRefCount=0,BinaryType=0) (UNKNOWN) 1: {5FA7DD68-AA90-4A0E-8439-BBDE899F0E44} 2: {90CF634A-E6BE-11D8-AB23-0050DAC64F84} 3: C:\Program Files\WinAs32_PatchTest2601\HAF.dll [...] (SourceName=HAF.dll,SourceCabKey=haf.dll,DestName=HAF.dll,Attributes=16384,FileSize=454656,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,,,InstallMode=59244544,HashOptions=0,HashPart1=1859419541,HashPart2=-62101674,Has (UNKNOWN) hPart3=716139336,HashPart4=119045468,) (SERVER) MSI (s) (3C:44): File: C:\Program Files\WinAs32_PatchTest2601\HAF.dll; Overwrite; No patch; Existing file is unversioned and unmodified - hash matches source file (SERVER) MSI (s) (3C:44): Source for file 'HAF.dll' is uncompressed, at 'D:\Meine InstallShield-X-Projekte\WinAs MSIVers200 FINAL 16112004\WinAs\Ver100\program files\WinAs\'. (UNKNOWN) InstallFiles: File: HAF.dll, Directory: C:\Program Files\WinAs32_PatchTest2601\, Size: 454656 [...] |
Wie kann ich das verhindern???
Der Patch soll einfach nur die Dateien patchen die im Patch enthalten sind und nicht alle Dateien von der Source neu "überschreiben"!
Ich habe mir mal den Artikel "How to Apply a Patch Without Source" angesehen und habe eine Frage dazu: In der Installations-Sequenz kommt die Aktion "ResolveSource" vor aber nur in der UI-Sequenz und mit der Bedingung: "Not installed And Not Patch".... kann es trotzdem daran liegen???? Die anderen Bedingungen die in dem Artikel gesnannt sind erfülle ich meines Erachtens.
Könnte es eventuell damit zusammenhängen, daß ich bei der Erstellung der Version 2 dieses oben erwähnte Upgrade-Element mit dieser Einstellung erstellt habe??? Oder muß man ein Upgrade Element bei einem Major-Upgrade machen um die mit Hilfe dieser Version einen Patch zu erstellen????
Bin wirklich für jede Hilfe dankbar!!!!
Edited by herrbecht, 27 January 2005 - 10:39.
Posted 27 January 2005 - 14:45
Not (Installed Or PATCH).
wie ist den der REINSTALLMODE für das patch gewählt?
Posted 27 January 2005 - 16:23
Habe jetzt mal testweise die ResolveSource-Aktion ganz rausgelölscht... Leider kann ich im Moment keine Patches erstellen: Wenn ich in der Ansicht Patchdesign meine neue oder alte MSI angebe und InstallShield mich daraufhin fragt, ob es die Installation entpacken soll (weil das Medium komprimiert ist) hängt sich InstallShield JEDES GOTTVERDAMMTE MAL bei der anschließenden Entpackung total auf !!!!! Arrrrg... es ist zum wahnsinnig werden...
Ach...: Mein ReinstallMode ist auf emus gesetzt.
Könnte das denn an der Bedingung von ResolveSource liegen?
Posted 27 January 2005 - 16:31
Posted 27 January 2005 - 16:52
Aber bei der Installation der Version 1 (Vollversion) wurde diese Aktion ausgeführt.
Aus Version 1 und Version 2 habe ich dann den Patch erstellt.
Edited by herrbecht, 27 January 2005 - 16:58.
Posted 27 January 2005 - 17:49
Edited by ali, 27 January 2005 - 17:50.
Posted 01 February 2005 - 10:26
Ich habe den Fehler gefunden: Es liegt an REINSTALLMODE=emus... bei "omus" funktioniert der Patch bestens... ARRGG
Leider ist das für mich keine Lösung, da die Installation Dateien enthält, die sich inhaltlich ändern, deren Versionsnummer aber nich hochgesetzt wird... und diese Dateien werden bei einem Patch (onwohl sie sich geändert haben!!!) NICHT berücksichtigt... gibt es dafür eine Lösung???
Edited by herrbecht, 01 February 2005 - 10:27.
Posted 02 February 2005 - 09:25
Stefan Krüger
InstallSite.org twitter facebook
Posted 03 February 2005 - 17:18
Angenommen alle meine Patches verlangen IMMER nach der "Source" (weil mit REINSTALLMODE=emus ausgeführt) ist es dann eine mögliche Lösung, wenn die ursprüngliche Installation permanent auf dem jeweiligen Rechner liegt???
Funktionieren dann auch die nachfolgenden Patches??? (ich meine, wenn ich nach der ersten Version nur noch) Patches rausgebe (die aber alle IMMER nach der Source verlangen)???
Wenn ein Patch nach der Source verlangt werden ja mache/alle Dateien aus der ursprünlichen Installation (Source) genommen und bestehende Dateien (im Programmverzeichnis) vollständig überschrieben bevor die Dateien gepatched werden. Wenn jetzt mehrere (binäre) Patches hintereinander kommen werden dann immer alle bisherigen Patches (der Reihe nach) durchgeführt wenn die Datei vom Source-Medium überschrieben wurde??? Kann es da zu Problemen kommen???
bin wirklich für jede Hilfe dankbar!!!
Edited by herrbecht, 03 February 2005 - 17:20.
Posted 04 February 2005 - 14:49
Stefan Krüger
InstallSite.org twitter facebook