OSD Task Sequence: A script may fail without error when deploying a 64-bit OS

fixHere’s a tip on an issue you may run into if you’re trying to run a script at the end of an OSD with System Center Configuration Manager 2007.  If you’re pushing images of 64-bit Windows Server 2008 systems, and in the build task sequence you’re trying to run a task at end of build that sets a registry key for the new server, the task may fail to run correctly and it may exit without generating any kind of error.   In some script scenarios you may see an error “The system cannot find the path specified.”

This can happen if the task that’s running is a script that runs under cscript.exe (32-bit).  Because the script is being run on Windows Server 2008 (64-bit), the OS is forcing the task sequence (script) to use the 32-bit subsystem (32-bit version of cscript.exe) and thus the script fails.

To resolve or workaround this issue you can do either of the following:

1. For the ‘Run Command Line’ properties, check the box for “Disable 64-bit file system redirection”

2. For the command-line, a 32-bit application can access the “native system folder” by using: “%WinDir%\Sysnative” which allows use of %WinDir%\System32 without redirection.

For more information see the following KB article:

A 32-bit application cannot access the System32 folder on a computer that is running a 64-bit version of Windows Server 2003

Will Swanda | Senior Support Engineer