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

Device Driver mit 32 und 64 Bit


10 replies to this topic

vschober@gesytec.de

vschober@gesytec.de
  • Full Members
  • 19 posts

Posted 15 November 2012 - 22:35

Hallo,

ich möchte ein Treiberpacket installieren, welches sowohl 32 Bit als auch x64 Treiber enthält.
Ich kann jedoch nicht einstellen, dass die Komponente 32 und 64 Bit Treiber zugleich enthält. Selbst zwei unterschiedliche Komponenten beeinflussen sich gegenseitig und lassen nur eine Einstellung zu.
Wie kann ich 32 Bit als auch x64 Treiber in einem Setup installieren?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 16 November 2012 - 19:32

Man kann keine gemischten 32- und 64-Bit MSIs erzeugen. Ein 64-Bit MSI kann zwar auch 32-Bit-Komponenten enthalten, aber ich denke da wird ein 32-Bit Treiber wenig Sinn machen. Und ein 32 Bit msi kann keine 64 Bit Komponenten installieren.

Juergen Wagener

Juergen Wagener
  • Full Members
  • 32 posts

Posted 27 November 2012 - 14:00

Nochmal zum Thema gemischte msi für 32 und 64bit. Ich habe in der Richtung mal recherchiert und folgende Lösung gefunden, die zwar logisch aussieht, aber bei mir nicht funktioniert hat:

http://www.installat...-installations/

Warum geht das nicht? Ist eine gemischte msi wirklich unmöglich, oder gibt es irgendwelche Tricks mit denen man das doch hinbekommen kann?

Mir geht es hauptsächlich um das korrekte Kopieren nach c:\Program Files bzw. c:\Program Files (64).

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 November 2012 - 15:24

Wie schon geschrieben, kann ein 64-Bit Setup durchaus auch 32-Bit-Komponenten enthalten, aber es läuft dann nicht auf einem 32-Bit-Windows.

Hast du mal im Log überprüft, ob die Properties wie gewünscht gesetzt werden?

Juergen Wagener

Juergen Wagener
  • Full Members
  • 32 posts

Posted 29 November 2012 - 13:47

Es wird jedenfalls das jeweilige Property ausgewählt, also z.B. bei x86:

Action 13:34:43: SetInstallDir_x86.
Action start 13:34:43: SetInstallDir_x86.
Action ended 13:34:43: SetInstallDir_x86. Return value 1.

Action 13:34:47: SetInstallDir_x86.
Action start 13:34:47: SetInstallDir_x86.
Action ended 13:34:47: SetInstallDir_x86. Return value 0.

Dasselbe auf x64-Maschinen nur mit SetInstallDir_x64

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 29 November 2012 - 16:08

Ein ausführliches Log sollte jede Änderung der Propertywerte protokollieren, mit vorher und nachher Wert. Vielleicht wird es später wieder zurückgesetzt.

Außerdem müssen Verzeichnis-Properties vor CostFinalize gesetzt werden.

Juergen Wagener

Juergen Wagener
  • Full Members
  • 32 posts

Posted 30 November 2012 - 10:59

Unter x64 wird auch nach "After CostInitialize" noch "c:\Program Files (64)" genommen, obwohl laut Log in der UI-Sequence "C:\Program Files" gesetzt wird.

Erweiterter Log unter x64:
.....
MSI © (F4:F4) [10:35:45:556]: Skipping action: SetInstallDir_x86 (condition is false)
MSI © (F4:F4) [10:35:45:556]: Doing action: SetInstallDir_x64
Action start 10:35:45: SetInstallDir_x64.
MSI © (F4:F4) [10:35:45:556]: PROPERTY CHANGE: Adding INSTALLDIR property. Its value is 'C:\Program Files\'.
Action ended 10:35:45: SetInstallDir_x64. Return value 1.
.....
MSI (s) (5C:28) [10:36:03:817]: Skipping action: SetInstallDir_x86 (condition is false)
MSI (s) (5C:28) [10:36:03:817]: Doing action: SetInstallDir_x64
Action start 10:36:03: SetInstallDir_x64.
MSI (s) (5C:28) [10:36:03:817]: Skipping action due to msidbCustomActionTypeFirstSequence option.
Action ended 10:36:03: SetInstallDir_x64. Return value 0.
.....

Unter x86 entsprechend (auch mit "Skipping action due...")

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 01 December 2012 - 14:34

"After" heißt ja auch "nach" und ich sagte die Aktion mus "vor" CostFinalize.

Juergen Wagener

Juergen Wagener
  • Full Members
  • 32 posts

Posted 03 December 2012 - 13:12

Hm, "After CostInitialize" ist doch vor "After CostFinalize".
Heißt, die Aktion wird direkt nach CostInitialize ausgeführt.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 December 2012 - 20:46

Ja, sorry, da hatte ich unaufmerksam gelesen.
Also, das INSTALLDIR wird doch anscheinend in der UI Sequenz © korrekt gesetzt, oder? Dann schau mal im Log, ob es irgendwo wieder zurückgesetzt wird.

Juergen Wagener

Juergen Wagener
  • Full Members
  • 32 posts

Posted 04 December 2012 - 14:18

Das INISTALLDIR-Property ändert sich an 2 Stellen:

Action start 08:39:57: InstallWelcome.
MSI © (C8:EC) [08:40:00:946]: PROPERTY CHANGE: Modifying INSTALLDIR property. Its current value is 'C:\Program Files (x86)\'. Its new value: 'C:\Program Files\'.
Action ended 08:40:01: InstallWelcome. Return value 1.

Action start 08:40:16: CostFinalize.
MSI (s) (24:F8) [08:40:16:158]: PROPERTY CHANGE: Modifying INSTALLDIR property. Its current value is 'C:\Program Files\'. Its new value: 'C:\Program Files (x86)\'.
Action ended 08:40:16: CostFinalize. Return value 1.

Irgendwie scheint es Probleme mit dem [ProgramFiles64Folder] zu geben. Wenn ich als Property-Value statt dessen z.B. c:\TestDir eintrage, wird dieses Verzeichnis korrekt als INSTALLDIR akzeptiert und die Installation läuft sauber durch.