Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Installationsbedingungen


6 replies to this topic

rj2Skipper

rj2Skipper
  • Full Members
  • 49 posts

Posted 27 September 2001 - 14:18

Ich benutze mehr oder weniger erfolgreich bestimmte Bedingungen um Komponenten zu installieren die Dateien mit dem selben Dateinamen aber unterschiedlichen Versionen (für das jeweilige Betriebssystem) enthalten.
bei den verschiedensten Komponenten klappte das auch recht gut, aber ausgrechnet bei einer bestimmten nicht.
die Bedingung ist: VersionNT>=400
Mir scheint aber, daß die Komponenten auch auf einem Win98-System installiert werden, und damit die Datein für W98 überschrieben werden.

wie kann ich die Bedingung formulieren das diese Kompnenten wirklich nur dann installiert werden wenn sie gebraucht werden, bzw gibt es noch andere Lösungsansätze für das Problem?


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 27 September 2001 - 22:08

Die Bedingung sieht gut aus. Bist Du sicher, dass die beiden Dateien sich nicht im Disk1 Verzeichnis überschreiben, wenn sie den gleichen Namen haben? (D.h. Du musst unterschiedliche Source-Verzeichnisse angeben)

rj2Skipper

rj2Skipper
  • Full Members
  • 49 posts

Posted 28 September 2001 - 08:20

Ja ich bin mir eigentlich ziemlich sicher, daß die in verschiednenen sourceverzeichnisssen abgelegt sind (VersionNT>=400 --> wnt;Version9X-->w9x)
woran ich noch sehe, daß die NT-Bedingung nicht/falsch ausgewertet wurde sit auch, daß eine Datei im zielverzeichnis installiert wird, die im 9X nicht enthalten ist.

Ich hab sogar mal ein nichtkomprimiertes release erstellt, und da sind die dateien auch alle in den richtigen quellverzeichnissen.

noch irgendwelche ideen?

(Edited by rj2Skipper at 9:36 am on Sep. 28, 2001)


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 September 2001 - 08:42

Schreib doch mal eine Log-Datei.
Ausserdem könnstest Du eine Message-Box anzeigen um zu sehen, wie die Bedingung ausgewertet wird.

Wir sprechen ja über eine Bedingung bei einer Komponente, nicht bei einem Feature, oder?


rj2Skipper

rj2Skipper
  • Full Members
  • 49 posts

Posted 28 September 2001 - 09:55

natürlich sprechen wir über Komponentenbedingungen. die einzelnen komponenten sind zwar jeweils in einem extrafeature, aber das sollte doch wohl nicht stören, oder?

Auszug aus der Logdatei (geloggt mit v*):
MSI © (43:F3): Component: FFMON32.DLL1; Installed: Absent;   Request: Local;   Action: Null
MSI © (43:F3): Component: FFMON32.DLL; Installed: Absent;   Request: Local;   Action: Local
MSI © (43:F3): Component: FFMON32.DLL2; Installed: Absent;   Request: Local;   Action: Null

ffMon32.Dll1 ist die, mit bedingung Version9X
fMon32.Dll ist die, mit bedingung VersionNT>=400
ffMon32.Dll2 ist die, mit bedingung VersionNT<400

MSI © (43:F3): Component: FFDRV32.DLL; Installed: Absent;   Request: Local;   Action: Local
MSI © (43:F3): Component: FFDRV32.DRV; Installed: Absent;   Request: Local;   Action: Local
ffdrv32.dll hat bedingung VersionNT>=400
ffdrv32.drv hat bedingung Version9X

FFDRV32.DRV und FFMON32.DLL1 sind zusammen in einem Feature
FFDRV32.DLL und FFMON32.DLL sind zusammen in einem Feature


MSI © (43:F3): Executing op: FileCopy(SourceName=F4928_FFDRV32.DRV,DestName=FFDRV32.DRV,Attributes=16384,FileSize=4672, Version=4.0.0.950,Language=1033,InstallMode=58982400,PerTick=32768,IsCompressed=1,,VerifyMedia=1,,,,,)
MSI © (43:F3): File: C:\WINDOWS\SYSTEM\FFDRV32.DRV;  To be installed;  No existing file
InstallFiles: Datei: FFDRV32.DRV, Ordner: C:\WINDOWS\SYSTEM\, Größe: 4672
MSI © (43:F3): Note: 1: 2318 2: C:\WINDOWS\SYSTEM\FFDRV32.DRV
MSI © (43:F3): Executing op: SetTargetFolder(Folder=C:\WINDOWS\SYSTEM\)
MSI © (43:F3): Executing op: FileCopy(SourceName=F4869_FFMON32.DLL,DestName=FFMON32.DLL,Attributes=16384,FileSize=19144, Version=4.0.1381.1,Language=1033,InstallMode=58982400,PerTick=32768,IsCompressed=1,,VerifyMedia=1,,,,,)
MSI © (43:F3): File: C:\WINDOWS\SYSTEM\FFMON32.DLL;  Won't Overwrite;  Existing file is of an equal version
MSI © (43:F3): Executing op: FileCopy(SourceName=F4870_FFDRV32.DLL,DestName=FFDRV32.DLL,Attributes=16384,FileSize=6296, Version=4.0.1381.1,Language=1033,InstallMode=58982400,PerTick=32768,IsCompressed=1,,VerifyMedia=1,,,,,)
MSI © (43:F3): File: C:\WINDOWS\SYSTEM\FFDRV32.DLL;  Won't Overwrite;  Existing file is of an equal version
MSI © (43:F3): Executing op: SetTargetFolder(Folder=C:\WINDOWS\SYSTEM\)


Statt MessageBox lasse ich zu Debugzwecken Registrykeys schreiben, in denen die Betriebsystem-informationen enthalten sind --> da steht drin
9X=410;NT=;Build=2222;SP=

komplettes logfile (134KB):
http://members.tripo...uff/install.log


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 September 2001 - 12:45

Ich durchblicke es immer noch nicht ganz, aber mir sind ein paar Dinge aufgefallen:

MSI © (43:F3): Disallowing installation of component: {79513E66-9E95-4E7A-A8A9-9C6E913AC8E9} since the same component with higher versioned keyfile exists

Key file dieser Component ist FFMON32.DLL, die Datei existiert also bereits.

MSI © (43:F3): File: C:\WINDOWS\SYSTEM\FFMON32.DLL;  Won't Overwrite;  Existing file is of an equal version

Kann es sein, dass das Test-System nicht ganz sauber ist?

Ausserdem schreibst Du:
ffMon32.Dll2 ist die, mit bedingung VersionNT<400

Eine bedingung VersionNT<400 macht keinen Sinn, denn unter NT 3.51 läuft Windows Installer gar nicht., die Bedingung is also immer FALSE.


rj2Skipper

rj2Skipper
  • Full Members
  • 49 posts

Posted 28 September 2001 - 12:55

NT3.51 spielt keine Rolle, das hate ich nur der vollständigkeit hlaber mitgeschrieben, um zu zeigen, daß diese Bedingung richtig ausgewertet wird.

Won't overwrite --> passiert, weil die Dateien beim deinstallieren nicht gelöscht werden (genauso wie die Share-RegKeys.
Aber wenn ich die Dateien und die Keys manuell rauslösche und dann neu installiere werden die NT4 Dateien trotzdem Installiert.