wir haben ein Setup, welches Dateien aktualisieren soll, einfach gnadenlos überschreiben.
In den Komponenteneinstellungen ist nie überschreiben folgerichtig auf nein gesetzt.
***************************************
Setzen Sie diese Eigenschaft auf Nein, um Folgendes auszuführen:
Wenn die Dateiversion auf dem Zielsystems neuer als die zu installierende Version ist, wird die Datei auf dem Zielsystem nicht überschrieben.
Wenn die zu installierende Version neuer als die Datei auf dem Zielsystem ist, wird die Datei auf dem Zielsystem überschrieben.
***************************************
Leider gibt es kein "immer überschreiben".
Aber der Zeitstempel würde es notfalls auch tun.
Doch leider ignoriert er den Zeitstempel und schaut sich die Versionsnummer an.
Auszug aus der Logdatei:
***************************************
MSI (s) (40:BC) [11:32:30:996]: Executing op: FileCopy(SourceName=compr32.dll,SourceCabKey=_1B01C69C6FA13F191C64205E862DF7BA,DestName=compr32.dll,Attributes=16384,FileSize=69632,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,Version=1.0.8.2,Language=1031,InstallMode=58982400,,,,,,,)
MSI (s) (40:BC) [11:32:31:012]: File: C:\Programme\Akademische Arbeitsgemeinschaft\Steuertipps\2008\SSE.tst\13.01\compr32.dll; Won't Overwrite; Won't patch; Existing file is of an equal version
***************************************
Wir haben keine Kontrolle über die Versionsnummer, das Ding kommt von der Oberfinanzdirektion. Wir müssen es Bit für Bit so nehmen, wie es ist.
Und nun? Wie kriegen wir das aktuelle File beim Kunden drauf?
Jetzt hat er schon einen inkonsistenten Zustand. Tolles InstallShield!
Edited by ts1, 19 December 2007 - 12:12.