Windows7/64bitでの32bitプログラムについてのメモ

  • C:\Windows\SysWOW64 の下に32bitアプリがある*1

cscript.exe wscript.exe regedit.exe cmd.exe .....
名前に反して、C:\Windows\System32 の下にある物が64bitアプリ

環境変数 64bit環境 32bit環境
CommonProgramFiles C:\Program Files\Common Files C:\Program Files (x86)\Common Files
PROCESSOR_ARCHITECTURE AMD64 x86
PROCESSOR_ARCHITEW6432 なし AMD64
ProgramFiles C:\Program Files C:\Program Files (x86)

HKEY_CURRENT_USER\Software\Wow6432Node や HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node の下にあるキーが、32bit環境だと HKEY_CURRENT_USER\Software や HKEY_LOCAL_MACHINE\SOFTWARE の下にあるように見える。

別の言い方をすると、32bitアプリの動作をレジストリで設定する場合、HKEY_LOCAL_MACHINE\SOFTWARE\FooBar を修正しろと書いてある場合は、実際には HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FooBar 等を変更すること。あるいは、C:\Windows\System32\regedit.exe ではなく C:\Windows\SysWOW64\regedit.exe を使って HKEY_LOCAL_MACHINE\SOFTWARE\FooBar を修正する。

IE9/32bit や Office2010/32bit をVBScript等で制御する場合は、C:\Windows\SysWOW64\WScript.exe や C:\Windows\SysWOW64\CScript.exe を使う。

*1:東口に西武百貨店、西口に東武百貨店があるのと同じようなもの