32bit ITCM agents running on 64bit Windows platforms

Document ID : KB000021620
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Being an x86 application, the ITCM plugins is not able to see and access the registry keys and paths that the x64 OS and Applications are installed and running in.

Some examples:

  • %WINDIR%\System32 is not accessible

  • %ProgramFiles% points to C:\Program Files (x86) rather than to C:\Program Files

  • Registry key HKEY_LOCAL_MACHINE\SOFTWARE key is automatically redirected to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node

Although the ITCM agent is a 32bit program, access to 64bit paths and registry keys is sometimes needed. How can this be accomplished?

Solution:

 

In a 64-bit version of Windows the %WinDir%\System32 folder is reserved for 64-bit applications.
When a 32-bit application tries to access the System32 folder, access is by default redirected to the following folder:

%WinDir%\SysWOW64\System32

As a workaround, 32-bit applications can access the native system directory by substituting %windir%\Sysnative for %windir%\System32.
WOW64 (windows 32 on windows 64) recognizes Sysnative as a special alias used to indicate that the file system should not redirect the access.
So e.g. %WINDIR%\System32\oobe\info can be accessed from %WINDIR%\sysnative\oobe\info
See http://msdn.microsoft.com/en-us/library/aa384187(v=vs.85).aspx for more details.

%ProgramFiles% indeed points to "C:\Program Files (x86)"
If you want to address C:\Program Files, use the ProgramW6432 environment variable.
Tip: start a 32bit command box within Windows x64 by running %windir%\SysWoW64\cmd.exe so you can easily check the values of the environment variables and verify which folders are directly accessible and which are redirected.

Finally, if you want to address the 64bit registry keys from a dmscript without being redirected, please refer to the following techdoc:
https://support.ca.com/irj/portal/anonymous/redirArticles?reqPage=search&searchID=TEC543381