Windows 64位操作系統為提供對32位應用程序的兼容,在“C:\Windows\SysWOW64”目錄下保留了很多32位的工具(如CMD.exe是32位的)。在Windows 64位操作系統上跑三十二位應用程序,操作注冊表,搜素目錄時,微軟通過反射(Reflector),會將“\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall”替換為"\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall",即在SOFTWARE后面補上Wow6432Node。所以如果是64位腳本程序,在64位操作系統上,通過注冊表操作32位應用程序,得手動通過代碼補上“Wow6432Node”,否則會找不到。
參考(Reference:)
http://support.microsoft.com/default.aspx?scid=kb;en-us;896459
-
The Wow6432 registry entry indicates that you're running a 64-bit version of Windows. The OS uses this key to present a separate view of HKEY_LOCAL_MACHINE\SOFTWARE for 32-bit applications that run on a 64-bit version of Windows. When a 32-bit application queries a value under the HKEY_LOCAL_MACHINE\SOFTWARE\<company>\<product> subkey, the application reads from the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\<company>\ <product> subkey.