Using "file exists" rule in validation logic with paths including C:\Windows\System32\, $WinDir\System32\ or %windir%\System32\ returns erroneous results.
Even though the file exists, the element is not validated.
The \System32 directory is used by 64-bit applications on 64-bit Windows sytems. Because of DLL libraries were not renamed when created in 64 bits format, the 32 bit versions are stored in different locations SysWOW64 is used to store those files using a file system redirector.
It redirects access to a specific path according to application architecture, and when a 32 bits application (like Desktop Authority agent) tries to access \System32\ the operating system redirects it to the SysWOW64 directory, even though the desired file is correctly located in \System32\ directory.
When Desktop Authority agent searches for desired file, it looks at redirected directory (SysWOW64) instead of the correct one (System32) and it will not find the file returning a false negative to rule condition.
Desktop Authority agent, being a 32-bit application, can access the native system directory using %windir%\Sysnative for %windir%\System32 (works for C:\Windows\Sysnative\ or $WinDir\Sysnative\). WOW64 recognizes Sysnative as a virtual directory and prevents file system from redirecting the access to that directory.
Note: 64-bit applications cannot use the Sysnative alias as it is a virtual directory not a real one.
© ALL RIGHTS RESERVED. Feedback Terms of Use Privacy Cookie Preference Center