Heute möchte ich den „Platform Schalter“ in Empirum Paketen, genauer gesagt der Setup.inf, erläutern. Die Platform Eigenschaft wird in der [Setup] Sektion, zumeist ganz oben in der Setup.inf gesetzt. Der Platform Eigenschaft ist mit der x64 Eignung von Empirum in die Empirum Pakete gekommen.
Was bewirkt er und wie kann man ihn für sich selbst einsetzen?
Werte
Folgende Werte kann Platform annehmen:
- Platform nicht vorhanden und somit kein Wert
- x86
- x86os
- x64
- *
Erläuterungen
- x86os – bedeutet, dass diese Software nur auf 32Bit Betriebssystem installiert werden kann und somit diese Software nur auf 32Bit Betriebssystemen funktioniert.
- x64 – bedeutet, dass diese Software nur auf 64Bit Betriebssystem installiert werden kann und somit diese Software nur auf 64Bit Betriebssystemen funktioniert.
- x86 (kein Platform) – bedeutet, dass es sich um eine 32Bit Software handelt, die jedoch auch auf 64Bit Betriebssystemen im Kompatibilitätsmodus funktioniert. Die Setup.inf wird somit im 32Bit Kontext ausgeführt!
- * – bedeutet, dass das Softwarepaket auf 32Bit und64Bit Systemen funktioniert. Auf 32Bit Betriebssystemen wird es im 32Bit Kontext und auf 64Bit Betriebssystemen im 64Bit Kontext ausgeführt. Zumeist enthalten Pakete mit Platform=* die Installationsquellen für 32Bit und 64Bit Betriebssysteme.
Beispiele
Nachfolgend werden ein paar Beispiele für das Verhalten von Variablen und Registry Zugriffen beispielhaft erläutert. Der Platform Schalter hat natürlich auch Auswirkung auf andere Variablen wie %CommonProgramFiles%, %System%, etc.
Platform=
Platform nicht vorhanden ist identisch mit Platform=x86
32Bit Betriebssystem
%ProgramFiles% > C:\Programme
HKLM,Software\Microsoft > HKLM,Software\Microsoft
64Bit Betriebssystem
%ProgramFiles% -> C:\Programme (x86)
HKLM,Software\Microsoft > HKLM,Software\Wow6432Node\Microsoft
Wann wird der Wert genutzt?
- Wenn 32Bit Software auf Windows x86 und x64 Systemen zur Verfügung gestellt werden soll.
- Somit kann man auch alle „alten“ Pakete zumeist unverändert lassen!
Platform=*
32Bit Betriebssystem
%ProgramFiles% > C:\Programme
HKLM,Software\Microsoft > HKLM,Software\Microsoft
64Bit Betriebssystem
%ProgramFiles% -> C:\Programme
HKLM,Software\Microsoft > HKLM,Software\Microsoft
Wann wird der Wert * genutzt?
- Wenn in der Setup.inf selbst die OS Architektur unterschieden wird und man Massnahmen ergreift, dass der Aufruf einer „64bit.exe“ auf 64bit Geräten und „32bit.exe“ auf 32bit Geräten stattfindet.
- Gute Beispiele dafür sind auch die Pakete der Matrix42, wie EmpirumAgent, Inventory, SubDepot, etc.
Platform=x86os
32Bit Betriebssystem
%ProgramFiles% > C:\Programme
HKLM,Software\Microsoft > HKLM,Software\Microsoft
64Bit Betriebssystem
auf einem x64 Betriebssystem wird die Setup.inf nicht ausgeführt!
Platform=x64
32Bit Betriebssystem
auf einem x86 Betriebssystem wird die Setup.inf nicht ausgeführt!
64Bit Betriebssystem
%ProgramFiles% > C:\Programme
HKLM,Software\Microsoft > HKLM,Software\Microsoft
Weitere Erläuterungen direkt aus der Microsoft Quelle:
[Update 20.09.2018] hier gibt es einen ergänzenden Artikel: Setup.inf – Platform Wert