Im Idealfall lässt sich einfach anhand des Installationsordners erkennen, ob eine Anwendung als 32- oder 64-bit Version vorhanden ist.

So ist die Aufteilung auf einem 64-bit Windows die folgende:

  • “C:\Program Files (x86)” für 32-bit Programme
  • “C:\Program Files” für 64-bit Programme

So könnte man einfach beispielsweise via Batch ermitteln, ob ein bestimmtes Programm als 64-bit Ausgabe installiert ist:

if exist "C:\Program Files\...\Sowieso.exe" ...

oder

cd "C:\Program Files"
dir Sowieso.exe /s 
if %errorlevel%==0 ...

Ausgerechnet am Beispiel von Microsoft’s Office ist darauf alleine leider kein Verlass, denn die 32-bit Ausgabe befindet sich dennoch im 64-bit Ordner. “Schuld” daran ist einmal mehr Click-to-Run (C2R, dt. Klick-und-Los) oder wie man es auch gerne schimpft: Klick-und-Weglaufen.

Bei den Office-Paketen die Outlook enthalten kann man via Registry die Bitness ermitteln. Wenn nicht klar ist, welche Office-Version installiert ist, kann man generell den gesamten Office-Schlüssel durchsuchen:

reg query HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office /s | find /i "Bitness REG_SZ x86"
if %errorlevel%==0 ...

reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office /s | find /i "Bitness REG_SZ x64"
if %errorlevel%==0 ...

Ein Rückgabewert (Errorlevel) mit dem Wert null bedeutet dabei immer gefunden, größer null oder eins entspricht nicht gefunden.

Beim MDaemon Connector ist die Sache einfacher:

rem 32-bit
"C:\Windows\SysWOW64\MDCONNECTOR32X.DLL"

rem 64-bit
"C:\Windows\System32\MDCONNECTOR32X.DLL"

Hier unterscheiden sich lediglich die Pfade.