Kbase P155150: OS redirects 32-bit applications requests from \%WINDIR%\System32 to %WINDIR%\Syswow64
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  9/10/2010 |
|
Status: Unverified
SYMPTOM(s):
OS redirects 32-bit applications requests from \%WINDIR%\System32 to %WINDIR%\Syswow64
OS-COMMAND behaves differently than %WINDIR%\cmd.exe when running command inside %WINDIR%\System32 folder
\%WINDIR%\System32is transparently aliased to %WINDIR%\Syswow64
FACT(s) (Environment):
32-bit application trying to read or write in %WINDIR%\System32 folder
x86_64 (AMD64/EMT64)
Windows XP
Windows Vista
Windows Server 2003
Windows Server 2008
CAUSE:
This is an expected behavior
FIX:
OS-COMMAND will run the 32-bit version of the shell while starting cmd from the run tool, the 64-bit version of the shell is spawned.
The %windir%\System32 directory is reserved for 64-bit applications. Most DLL file names were not changed when porting to 64-bit, so 32-bit applications must use a different directory as their System32 directory. WOW64 hides this difference using a file system redirector. Whenever a 32-bit application attempts to access %windir%\System32, the access is redirected to a new directory, %windir%\SysWOW64. Access to %windir%\lastgood\system32 is redirected to %windir%\lastgood\SysWOW64. Access to %windir%\regedit.exe is redirected to %windir%\SysWOW64\regedit.exe.
32-bit applications can access the native system directory by substituting %windir%\Sysnative for %windir%\System32. WOW64 recognizes Sysnative as a special alias used to indicate that the file system should not redirect the access. The Sysnative is just a virtual directory, alias or pseudo-directory that is not visible in Windows Explorer, directory listing, and does not support native 64-bit processes that already been accessing the %windir%\System32 folder. As such, Sysnative can only be used in file system calls, and not in applications user interface such as dialog box to open or select folder.