Sysprep Fails / "Windows could not finish configuring the system.... "

scj6771_78

Honorable
Oct 31, 2012
4
0
10,510
Getting the message after Sysprep stating "Sysprep Fails After Deployment With: Windows could not finish configuring the system...."

This is a new out-of-box Lenovo T530 laptop, it came pre-loaded with Windows 7 Pro.

I pulled laptop from box and inserted our Windows 7 Pro SP 1 disk and installed our copy. I then configured all settings and applications under "audit mode", created an "Unattend.xml" file using the WSIM, and copied that file into the Sysprep folder and ran "Sysprep /shutdown /oobe /generalize /unattend:unattend.xml"

The error message appears after I image drive using Ghost GSS 11.5.1.2266. (I'm assuming the error would appear after boot-up regardless of imaging the machine)

I have read numerous articles regarding this error and have also disabled the "Windows Media Player Network Sharing Service" as suggested by many. I'm also assuming that the "Hotfix" for this issue does not apply since I am installing SP1.

I am able to boot into the machine after attempting to boot into "safe mode" first (as suggested by many users), however once in, it looks as if the XML file is completely ignored.

Could it be related to the SSD drive in these laptops?
 
So I decided to completely reinstall Win 7 Pro, add drivers needed and Sysprep using the same Unattend.xml file I created, it now comes back with an error after sysprep stating it doesn't like the "amd64_Microsoft-Windows-Shell-Setup__neutral" pass under "specialize".

It then states it has to reboot and when it does it comes back with an error about "unexpected error" and "windows installation cannot proceed" and to "restart the installation"??

I did manage to Shift+F10 into a command prompt and copy the "setupact.log" and the "setuperr.log" from the "C:\Windows\Panther" folder, it seems to complain about a product key which is not listed in the xml file, so not sure whats up with that.

[cpp]2012-11-08 00:39:16, Error [Shell Unattend] ProductKey: '' installation failed (0x80070057)
2012-11-08 00:40:18, Error [windeploy.exe] Setup.exe failed, returning exit code [0x1f]
2012-11-08 00:40:18, Error [windeploy.exe] Failure occured during online installation. Online installation cannot complete at this time.; hr = 0x80004005
2012-11-08 01:10:25, Error [windeploy.exe] Setup.exe failed, returning exit code [0x1f]
2012-11-08 01:10:25, Error [windeploy.exe] Failure occured during online installation. Online installation cannot complete at this time.; hr = 0x80004005
2012-11-08 01:12:53, Error [windeploy.exe] Setup.exe failed, returning exit code [0x1f]
2012-11-08 01:12:53, Error [windeploy.exe] Failure occured during online installation. Online installation cannot complete at this time.; hr = 0x80004005
2012-11-08 01:13:24, Error [windeploy.exe] Failure occured during online installation. Online installation cannot complete at this time.; hr = 0x8007000a
2012-11-08 01:33:11, Error [windeploy.exe] Setup.exe failed, returning exit code [0x1f]
2012-11-08 01:33:11, Error [windeploy.exe] Failure occured during online installation. Online installation cannot complete at this time.; hr = 0x80004005[/cpp]

I do have the "Microsoft-Windows-Shell-Setup" under "generalize" for the "CopyProfile" and "ComputerName" settings but I left the "ProductKey" setting blank. (which I believe could be caussing the issue?)

So my next question is what key would I place in there? I have an MAK and KMS license (Open License).
 
It’s hard to say where your deployment may be failing because we cannot see the unattend.xml file. However, there are a few things that can cause the issue you are experiencing and a few things you can do to achieve a successful deployment.

First, you did everything correctly by making your customizations in audit mode, using WSIM to create a unattend.xml file and the using the unattend file when running your sysprep /shutdown /oobe /generalize command. You might be having an incompatibility issue with the capture utility or settings for the capture utility you are using. One capture program that I always recommend is ImageX because it’s free and easy to use. You might want to check out the Preparing an Image Using Sysprep and ImageX video from the Springboard Series on TechNet as a walkthrough guide.

In your case, are you receiving the error when you attempt to capture the image or deploy it? Either way, we might have to do a bit of troubleshooting. First off, it is not recommended to join a computer to a domain prior to running the sysprep / generalize command. I would check to ensure that just the customizations are made first and then set the domain join to occur with the unattend.xml used with the deployment process. To confirm, there should be two separate unattend.xml files. One used for capturing the image that has the copyprofile command enabled and one that is used for deployment that has all your necessary settings such as systemlocale, userlocale, domainjoin, etc.

Also, when creating an answer file using WSIM, a part of the Windows Automated Installation Kit (Windows AIK), it would be helpful to know which settings you are specifying. If possible, I would encourage you to upload your current unattend file so that we may better assist you. You might also want to check out the Walkthrough: Build a Simple Answer File article from TechNet. You also might want to watch the Create an Answer File Windows 7 Walkthrough also from TechNet.
There also may be certain applications that are creating a conflict with the restoration of the image.

Finally, I always recommend the Alphabet Soup Deployment: Understanding MDT, WDS, MAP, ACT, SCCM, and USMT and Deploy Windows 7 The Easy Way: Using WDS, MDT and AIK – Step-By-Step videos also from TechNet as they can help walk you through the imaging and deployment process which may help you pinpoint the moment your deployment is failing. The videos touch base on many free deployment tools from Microsoft. One of which is the Microsoft Deployment Toolkit which can greatly simplify the deployment process as it allows you to easily add applications and drivers to an image and then proceed to push it out. I can elaborate more on MDT if you like.

Jessica
Windows Outreach Team – IT Pro
 
Thanks winoutreach5 for all that good info, being that I am new to the Microsoft ways and tools that are used to prepare a deployment of Windows 7 this will come in handy for sure.

I was finally able to Sysprep successfully after believing the issue was another profile causing Sysprep to fail.

Previously I would log in as a random user THEN run Sysprep to reboot into "audit" mode, I'm assuming the other profile was causing the issue because once I selected CTRL+SHIFT+F3 at the "welcome" screen and went into audit mode before creating a profile it seemed to work.

At any rate it still has ignored some of my setting inside the Unattend.xml file, primarily the "UnattendJoin" and "ProductKey", below are the errors listed in the "setuperr.log" located inside "C:\Windows\Panther\UnattendGC".

[cpp]2012-11-09 01:18:59, Error [DJOIN.EXE] Unattended Join: Passing MachinePassword or setting UnsecureJoin requires: Domain, Username, and Password must be NULL
2012-11-09 01:18:59, Error [DJOIN.EXE] Unattended Join: Failed to load all required input parameters, error occured processing [Domain]: 0x57
2012-11-09 01:18:59, Error [DJOIN.EXE] Unattended Join: Unable to join; gdwError = 0x57
2012-11-09 01:20:08, Error [msoobe.exe] Failed to install product key [hr=0xC004F050]
[/cpp]

I think I may need to put the "username" in the "DOMAIN\USERNAME" format, so that might fix that, the "password" and "domain" are both correct in the xml file.

The big issue is the product activation, if I run "slmgr.vbs -dli" it does look like it used the key I entered into the xml file, "Partial Product Key" does list the last four digits but states the time remaining is 29 days? As a note I do have "SkipRearm" set to "1" and "SkipAutoActivation" set to "false".

Other items noted:

1. Date was off by one day.
2. Don't think by adding "*" in the "ComputerName" field it randomly generated a computer name.
 
So I've turned on DebugJoin and ran the the process again but there is no logfile created in "%WINDIR%\Panther\UnattendGC\" called "UnattendedJoinDCLocator.etl" or anywhere else for that matter?

What exactly goes into the "MachinePassword" field for an "UnsecureJoin"? I have nothing listed for credentials (Domain, Username and Password) as I have read in many other forums.

I have the computer name being randomly generated by using "*" in the "ComputerName" field".

[cpp]<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Identification>
<Credentials>
<Domain></Domain>
<Password></Password>
<Username></Username>
</Credentials>
<UnsecureJoin>true</UnsecureJoin>
<JoinDomain>"MY_DOMAIN_NET"</JoinDomain>
<MachinePassword>"NOT_SURE_WHAT_GOES_HERE!"</MachinePassword>
<MachineObjectOU>"MY_OU"</MachineObjectOU>
<DebugJoin>true</DebugJoin>
</Identification>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CopyProfile>true</CopyProfile>
<ProductKey>"MY_PRODUCTKEY"</ProductKey>
<ComputerName>*</ComputerName>
<ShowWindowsLive>false</ShowWindowsLive>
<TimeZone>Eastern Standard Time</TimeZone>
<RegisteredOrganization>Microsoft</RegisteredOrganization>
</component>
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>net user administrator /active:yes</Path>
</RunSynchronousCommand>
</RunSynchronous>
</component>
<component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipAutoActivation>false</SkipAutoActivation>
</component>
</settings>
<settings pass="generalize">
<component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
</component>
<component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipRearm>1</SkipRearm>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<StartPanelLinks>
<Link0>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\accessories\Command Prompt.lnk</Link0>
<Link1>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\accessories\System Tools\Resource Monitor.lnk</Link1>
<Link2>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\accessories\System Tools\Disk Cleanup.lnk</Link2>
<Link3>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\accessories\Windows Explorer.lnk</Link3>
</StartPanelLinks>
<RegisteredOrganization>MY_ORGANIZATION</RegisteredOrganization>
<RegisteredOwner>"MY_OWNER"</RegisteredOwner>
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>3</ProtectYourPC>
</OOBE>
<UserAccounts>
<AdministratorPassword>
<Value>MgAwAHcAYQByAGwAbwBjAGsAMQAzAEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAUABhAHMAcwB3AG8AcgBkAA==</Value>
<PlainText>false</PlainText>
</AdministratorPassword>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Password>
<Value>MgAwAHcAYQByAGwAbwBjAGsAMQAzAFAAYQBzAHMAdwBvAHIAZAA=</Value>
<PlainText>false</PlainText>
</Password>
<Description>Local Administrator</Description>
<DisplayName>Administrator</DisplayName>
<Group>Administrators</Group>
<Name>Administrator</Name>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
</component>
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>en-us</InputLocale>
<SystemLocale>en-us</SystemLocale>
<UILanguage>en-us</UILanguage>
<UserLocale>en-us</UserLocale>
</component>
</settings>
<cpi😱fflineImage cpi:source="wim:x:/w.o.r.k/windows%207%20stuff/win%207%20pro%20sp1%2064%20bit/sources/install.wim#Windows 7 PROFESSIONAL" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
[/cpp]
 



You only have to enter a machine password and debug join information if you are trying to join the machine to a domain. What are you using to create the unattend.xml file? And are you joining the machine to the domain prior to imaging the system? If you do wish to join the machine to the domain during deployment, you might want to leave the machine un-joined from the domain when you image it.

Also, for creating unattend.xml files, you might want to use the Windows System Image Manager (as I mentioned in a previous post), which is a component of the Windows Automated Installation Kit (Windows AIK), as it helps simplify the process greatly. You can even validate each unattend file to ensure there aren't any errors.

Jessica
Windows Outreach Team -- IT Pro