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

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

  • Comments 4
  • Likes

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
http://support.microsoft.com/kb/942589

Will Swanda | Senior Support Engineer

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • This is a really useful post by Will Swanda I saw over on the The Configuration Manager Support Team

  • This is a really useful post by Will Swanda I saw over on the The Configuration Manager Support Team

  • This is very good news was well informed that the followers of the issue I am. Thank you ...

  • Excellent information!  Now for the tough part: how do we know when to use it?  Since the failures don't seem to generate any messages in the logs, in many cases it's hard to tell what the net effect on the entire task sequence might be.  (We use a single task sequence to deploy both 32- and 64-bit versions of Vista.)

    This is complicated by the fact that we have a *lot* of command line operations sprinkled throughout our task sequences... and most of them use cscript.  I don't want to take the shotgun approach of enabling it on all of them, because that seems a little foolish.

    So, is there some secret way of either a) telling which steps are having trouble, or b) a general rule to know which kinds of operations are adversely affected?

    One other question... does ticking that “disable” checkbox have ANY effect on 32-bit operating systems at all?  If not, we can be a little more confident in experimenting with it.

    Thanks, folks!