As Microsoft 64-bit client Operating Systems become more common, we need to ensure we are covering all combinations when scripting in general as well as within SCCM programs. I wanted to highlight a recent situation where I couldn’t figure out why my script couldn’t write to the %systemroot%\System32 folder on a 64 bit Windows 7 workstation. Then it clicked – whenever a 32-bit application attempts to access %windir%\System32, the access is redirected to %windir%\SysWOW64 – and don’t forget – the SCCM client is 32-bit!
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.
As a separate but related topic, I think it’s worthwhile pointing out this relatively new post at MyITForum that relates to UNC paths within batch files. Most people will tell you that UNC paths are not supported in a batch file – well that isn’t necessarily the case – “%~dp0″ is a variable that can be used in your batch file that will give you the full UNC path of where your script is being run from. From more info, see this post http://www.myitforum.com/absolutenm/templates/Articles.aspx?articleid=15520&zoneid=87