Thursday, January 9, 2014

limited support for OS deployment of Windows XP and Windows Server 2003 in SCCM 2012 R2

Microsoft is trying to force users of Windows NT5.1 systems to switch to a newer OS version "by any means possible".
SCCM 2012 R2 has contains quiet some changes to make it better, faster, leaner, meaner and what so ever... but if you will try to deploy an OS on a running Windows XP or Windows Server 2003 it will fail :(
the status messages log on the site server will show you two subsequent messages:
  1. The task sequence execution engine failed execution of a task sequence. The operating system reported error 2147942593: %1 is not a valid Win32 application.
  2. The task sequence manager could not successfully complete execution of the task sequence. A failure exit code of 193 was returned. The operating system reported error 193: %1 is not a valid Win32 application.
and of course you can and should dig into SMSTS.log for more detailed messages on why SCCM 2012 R2 is failing to do what it was meant for ;)

to be correct it is not (only) SCCM 2012 R2 who is messing up with the things, but also Windows ADK 8.1 which doesn't support Windows XP any more :(

the first JFGI search will most likely deliver you the following thread on TechNet forums, which leads to the conclusion that these errors are caused by scanstate.exe that can't run on NT5.1 any more. The reason for this failure is that Windows ADK 8.1 ships with USMT 8.1 and it doesn't support NT5.1 any more.
This conclusion however contains only a part of actual cause!

solution 1
READ THIS BLOG POST CAREFULLY if you are migrating from Windows XP to Windows 7, Windows 8 or Windows 8.1 and want to automatically migrate user data using USMT. it also contains hint to the workaround for the remaining issue.

imagine that your task sequence does not contain any user state capture/restore steps... it will still fail with the same errors in status message log :(
the hint for the workaround is hidden in the step 4 of actual Windows 8.1 deployment procedure description in the middle of the post mention in solution 1.

"Boot the target computer by using either bootable media or via a PXE Service Point."
what the blog post doesn't explicitly says, but what actually is the current status of OSD support on  Windows XP or Windows Server 2003 is that
you can only deploy an OS to existing Windows XP or Windows Server 2003 client using PXE boot or USB boot media.

the reason lies apparently in SCCM 2012 R2 handling of  boot sector creation for WinPE on live NT5.1 system and the bootsect.exe supplied with Windows ADK 8.1.

solution 2
workaround 1 - use only USB or PXE boot to deploy OS on Windows XP or Windows Server 2003 clients.
workaround 2 - replace bootsect.exe with version supplied in Windows ADK 8.0 as suggested in this thread.

is there any hope?
there is always hope :)! there are (yet unconfirmed) messages that this issue will be addressed in cumulative update 1 for SCCM 2012 R2, until now we can use workarounds.

BTW - it would be very nice of Microsoft to add this to the known issue list of SCCM 2012 R2.