SCCM OSD issue with Win7 x64 bit deployment on HP 8740W
Hi,
I was deploying a windows 7 64 bit, at a customer on a HP 8740W , witch is a monster machine ( core I7 , Nvidia Quatro 512 mb graphics , etc ) but during the step “setup windows and Configmgr” it fails with the following error :
Windows setup failed, code 31
Failed to run the action: Setup Windows and ConfigMgr.
Unspecified error (Error: 80004005; Source: Windows)
Looking further in the SMSTS.log it looks like :
------SMSTSLog-----
Command line for extension .EXE is "%1" %* OSDSetupWindows 4/29/2010 7:45:19 PM 1576 (0x0628)
Set command line: "\\<yourSCCMServer>\SMSPKGE$\ABC00014\SOURCES\SETUP.EXE" "/unattend:C:\_SMSTaskSequence\unattend.xml" /noreboot OSDSetupWindows 4/29/2010 7:45:19 PM 1576 (0x0628)
Executing command line: "\\<yourSCCMServer>\SMSPKGE$\ABC00014\SOURCES\SETUP.EXE" "/unattend:C:\_SMSTaskSequence\unattend.xml" /noreboot OSDSetupWindows 4/29/2010 7:45:19 PM 1576 (0x0628)
Process completed with exit code 31 OSDSetupWindows 4/29/2010 7:45:34 PM 1576 (0x0628)
Windows Setup completed with exit code 31 OSDSetupWindows 4/29/2010 7:45:34 PM 1576 (0x0628)
Entering ReleaseSource() for \\<yourSCCMServer>\SMSPKGE$\ABC00014\ OSDSetupWindows 4/29/2010 7:45:34 PM 1576 (0x0628)
reference count 1 for the source \\<yourSCCMServer>\SMSPKGE$\ABC00014\ before releasing OSDSetupWindows 4/29/2010 7:45:34 PM 1576 (0x0628)
Released the resolved source \\<yourSCCMServer>\SMSPKGE$\ABC00014\ OSDSetupWindows 4/29/2010 7:45:34 PM 1576 (0x0628)
exitCode == 0, HRESULT=80004005 (e:\nts_sms_fre\sms\client\osdeployment\setupwindows\setupwindows.cpp,440) OSDSetupWindows 4/29/2010 7:45:34 PM 1576 (0x0628)
Windows setup failed, code 31 OSDSetupWindows 4/29/2010 7:45:34 PM 1576 (0x0628)
setup.run(), HRESULT=80004005 (e:\nts_sms_fre\sms\client\osdeployment\setupwindows\setupwindows.cpp,1707) OSDSetupWindows 4/29/2010 7:45:34 PM 1576 (0x0628)
Exiting with code 0x80004005 OSDSetupWindows 4/29/2010 7:45:34 PM 1576 (0x0628)
Process completed with exit code 2147500037 TSManager 4/29/2010 7:45:34 PM 1384 (0x0568)
------SMSTSLog-----
This error (error 31) could have multiple causes in my environment. I will summarize them below :
- As I was deploying from OEM Media kit ( Yes , I know , companies should have a volume license key ) , it could cause some issues as on the OEM Media there is no such thing as a Pid.txt where the product key is stored . OEM media uses the unique key that has been sticked under your pc/ Laptop
- A badly written Unattend.xml , but as that xml has been used at other customers as well and posted on my blog , it seems unlikely .
- The Product key mentioned in the Task Sequence . Checked it , no product key mentioned .This error usual happens though because you are using an MAK key when you should not be using any key during the TS -- you can use the KMS client key (this is different than the KMS Server key you get from the MVLS site), but this is not required as your KMS client key is embedded in the OS source files in a file called pid.txt mentioned earlier.
- Faulty Drivers ….
I eliminated very soon 2 of the 4 options and was left over with :
- As I was deploying from OEM Media kit ( Yes , I know , companies should have a volume license key ) , it could cause some issues as on the OEM Media there is no such thing as a Pid.txt where the product key is stored . OEM media uses the unique key that has been sticked under your pc/ Laptop
- Faulty Drivers ….
Next step I have disabled the step “Auto apply drivers” and magically the setup continued …. That’s funny , so it has to be a driver….
Now that I know my root cause , lets investigate. The fun part is that Configmgr has the possibility to disable drivers on an easy way.
After some testing it became clear that the “IDT High Definition Audio Codec” was giving me error 31 because it has been written very crappy !
Solution :
- Remove the driver from the database
- Create a software Package and launch the setup via Setup.exe in your Task Sequence .
It now works like a charm .
Hope it Helps ,
Kenny Buntinx