Ich möchte prüfen, ob Office in 32bit oder 64bit installiert ist (unter Win 7 oder 10 64bit).
Das klappt soweit auch.
Jedoch bekomme ich sehr unterschiedliche Ergebnisse, wenn ich #AutoIt3Wrapper_UseX64 auf Y oder N setze.
;32bit Office installiert --- #AutoIt3Wrapper_UseX64=Y --- Ergebnis 32bit --- OK
;32bit Office installiert --- #AutoIt3Wrapper_UseX64=N--- Ergebnis 32bit und 64bit --- Fehlerhaft
;64bit Office installiert --- #AutoIt3Wrapper_UseX64=Y --- Ergebnis 64bit --- OK
;64bit Office installiert --- #AutoIt3Wrapper_UseX64=N--- Ergebnis (leer) --- Fehlerhaft
Daraus schließe ich, dass ich in diesem Fall unbedingt eine 64bit exe erzeugen muss oder?
Ich denke mein Skript passt so.
So wie ich es verstehe, muss unter in Registry unter ...\Wow6432Node\... schauen wenn es ein 32bit Programm ist.
Oder liege ich irgendwie daneben?
#AutoIt3Wrapper_UseX64=y
global $sTest1, $sTest2
Global $sVersion = "16.0" ;14.0 = 2010 / 16.0 = 2016
Global $s32bit = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\" & $sVersion & "\Excel\InstallRoot\", "Path")
Global $s64bit = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\" & $sVersion & "\Excel\InstallRoot\", "Path")
If $s32bit <> "" Then $sTest1 = "32bit"
If $s64bit <> "" Then $sTest2 = "64bit"
MsgBox(0,0,$sTest1 & @CRLF & $sTest2)
Alles anzeigen