Windows 7 Sysprep with Unattend and the pesky unable to process generalize
- I have been trying to use a unattend file to sysprep a Windows 7 Enterprise image to hand off to a vendor. I would like to get the Welcome to Windows to simply prompt for a computername. I have an unattend for sysprep that is based off of an unattend I have for a custom setup that functions exactly as I would like with the exception of the copy profile in the shell setup. It enables the administrator account and does an auto-login. The user will simply need to input the compter name based on the asset tag.
I keep getting the "Windows could not parse or process the unattend answer file for the pass specialize. The settings in the answer file cannot be applied. The error was detected while processing settings for component {Microsoft-Windows-Shell-Setup}". Looking at the setupact.log does not show any errors that point out the problem.
Has anyone had success using the unattend with the copy profile?
JustinS- Edited byJsimoni Tuesday, November 03, 2009 6:23 PM
All Replies
- I suppose you have something like this in specialize phase of your answer file.
<ComputerName></ComputerName>
Try removing complete line with <Computername> tag. - Thank you for your response.
Here is what I have done so far:
1. Sysprep with the computername value blank and copyprofile = true. Result failed.
2. Sysprep with unattend file containing no computername tags, copyprofile = true. Result failed.
3. Sysprep with unattend file contianing no computername tags, copyprofile field blank. Result failed.
By result failed, I mean the error, "Windows could not parse....." issue.
Each time there is no indications in the setupact.log that leads me to the misconfiguration.
JustinS - Try MySysprep 2 at http://www.tsaysoft.com/mysysprep2
It can even automate the computer name with the asset tag.
Tsaysoft.com - Jsimoni can you please post here your log files located on C:\Windows\Panther?
Geeking Around Technological World - [http://frontslash.wordpress.com/] Diogo, pasted below is the setupact.log.
2009-11-03 08:39:00, Info SYSPRP ========================================================
2009-11-03 08:39:00, Info SYSPRP === Beginning of a new sysprep run ===
2009-11-03 08:39:00, Info SYSPRP ========================================================
2009-11-03 08:39:00, Info [0x0f004d] SYSPRP The time is now 2009-11-03 08:39:00
2009-11-03 08:39:00, Info [0x0f004e] SYSPRP Initialized SysPrep log at C:\Windows\System32\sysprep\Panther
2009-11-03 08:39:00, Info [0x0f0054] SYSPRP ValidateUser:User has required privileges to sysprep machine
2009-11-03 08:39:00, Info [0x0f007e] SYSPRP FCreateTagFile:Tag file C:\Windows\System32\sysprep\Sysprep_succeeded.tag does not already exist, no need to delete anything
2009-11-03 08:39:01, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'GENERALIZE'
2009-11-03 08:39:01, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'OOBE'
2009-11-03 08:39:01, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'SHUTDOWN'
2009-11-03 08:39:01, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'UNATTEND'
2009-11-03 08:39:01, Info [0x0f004a] SYSPRP WaitThread:Entering spawned waiting thread
2009-11-03 08:39:01, Info [sysprep.exe] UnattendFindAnswerFile: Looking at explicitly provided unattend file [C:\windows\system32\sysprep\unattend.xml]...
2009-11-03 08:39:01, Info [sysprep.exe] UnattendFindAnswerFile: [C:\windows\system32\sysprep\unattend.xml] meets criteria for an explicitly provided unattend file.
2009-11-03 08:39:01, Info SYSPRP SysprepSearchForUnattend: Using unattend file at [C:\windows\system32\sysprep\unattend.xml].
2009-11-03 08:39:02, Info SYSPRP SysprepSearchForUnattend: [generalize] pass in unattend file [C:\windows\system32\sysprep\unattend.xml] either doesn't exist or passed validation
2009-11-03 08:39:02, Info SYSPRP WinMain:Found unattend file at [C:\windows\system32\sysprep\unattend.xml]; caching...
2009-11-03 08:39:02, Info SYSPRP WinMain:Processing unattend file's 'generalize' pass...
2009-11-03 08:39:02, Info SYSPRP Sysprep is running a generalize pass with the following unattend file: [%windir%\panther\unattend.xml]
2009-11-03 08:39:02, Info CSI 00000001@2009/11/3:16:39:02.608 WcpInitialize (wcp.dll version 0.0.0.6) called (stack @0x683cd85e @0x6860e2d6 @0x68620018 @0x685fadf1 @0x685fa984 @0x54eedf)
2009-11-03 08:39:02, Info [sysprep.exe] [Action Queue] : GenerateActionQueue begin
2009-11-03 08:39:02, Info [sysprep.exe] [Action Queue] : Processing pass = generalize
2009-11-03 08:39:02, Info [sysprep.exe] [Action Queue] : Generating queue file to C:\windows\panther\actionqueue\generalize.uaq
2009-11-03 08:39:02, Info [sysprep.exe] [Action Queue] : Identity 0: Microsoft-Windows-Shell-Setup, Culture=neutral, Version=6.1.7600.16385, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=x86, versionScope=NonSxS
2009-11-03 08:39:02, Info [sysprep.exe] [Action Queue] : Using component order file C:\windows\winsxs\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385_none_0935b76c289e0fd5\GlobalInstallOrder.xml
2009-11-03 08:39:02, Info CSI 00000001@2009/11/3:16:39:02.718 WcpInitialize (wcp.dll version 0.0.0.6) called (stack @0x683cd85e @0x73d0ec4d @0x73d0ecfd @0x73d0e144 @0x73d0ea4b @0x54ecdc)
2009-11-03 08:39:03, Info [sysprep.exe] [Action Queue] : Found manifest file C:\windows\Winsxs\Manifests\x86_microsoft-windows-shell-setup_31bf3856ad364e35_6.1.7600.16385_none_d23128cf4af3c40d.manifest
2009-11-03 08:39:03, Info [sysprep.exe] [Action Queue] : GenerateActionQueue finish (hr = 0x0)
2009-11-03 08:39:03, Info [sysprep.exe] [Action Queue] : ProcessActionQueue start
2009-11-03 08:39:03, Info [sysprep.exe] [Action Queue] : ProcessActionQueue using queue file C:\windows\panther\actionqueue\generalize.uaq
2009-11-03 08:39:03, Info [sysprep.exe] [Action Queue] : ProcessActionQueue finish (hr = 0x0)
2009-11-03 08:39:04, Info SYSPRP RunUnattendGeneralizePass: Sysprep unattend generalize pass exits; hr = 0x0, hrResult = 0x0, bRebootRequired = 0x0
2009-11-03 08:39:04, Info [0x0f00ac] SYSPRP WinMain:Processing 'cleanup' external provider request.
2009-11-03 08:39:04, Info [0x0f006c] SYSPRP RunExternalDlls:Running DLLs listed in registry for phase 3
2009-11-03 08:39:04, Info [0x0f008a] SYSPRP RunRegistryDlls:Retrieved section name for this phase as Cleanup
2009-11-03 08:39:04, Warning [0x0f008f] SYSPRP RunRegistryDlls:Registry key is either empty or malformed: SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SysPrepExternal\Cleanup
2009-11-03 08:39:04, Info [0x0f00ad] SYSPRP WinMain:Processing 'generalize' extrenal provider request.
2009-11-03 08:39:04, Info [0x0f006c] SYSPRP RunExternalDlls:Running DLLs listed in registry for phase 1
2009-11-03 08:39:04, Info [0x0f008a] SYSPRP RunRegistryDlls:Retrieved section name for this phase as Generalize
2009-11-03 08:39:04, Warning [0x0f008f] SYSPRP RunRegistryDlls:Registry key is either empty or malformed: SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SysPrepExternal\Generalize
2009-11-03 08:39:04, Info [0x0f003f] SYSPRP WinMain:Processing 'cleanup' internal provider request.
2009-11-03 08:39:04, Info [0x0f006c] SYSPRP RunExternalDlls:Running DLLs listed in registry for phase 3
2009-11-03 08:39:04, Info [0x0f008a] SYSPRP RunRegistryDlls:Retrieved section name for this phase as Cleanup
2009-11-03 08:39:04, Info [0x0f008b] SYSPRP RunRegistryDlls:Found entrypoint in registry at SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SysPrep\Cleanup\{cdcc0c8d-b72c-212f-f9a8-572bb66ac5ae}; will try to launch 'C:\Windows\System32\LangCleanupSysprepAction.dll,Sysprep_Generalize_MUILangCleanup'
2009-11-03 08:39:04, Info [0x0f0080] SYSPRP LaunchDll:Found 'C:\Windows\System32\LangCleanupSysprepAction.dll,Sysprep_Generalize_MUILangCleanup'; executing it
2009-11-03 08:39:04, Info SYSPRP Sysprep_Generalize_MUILangCleanup Start.
2009-11-03 08:39:04, Info SYSPRP Disabling CMF cache SUCCEEDED
2009-11-03 08:39:04, Info SYSPRP Removing scheduled task for running lpremove.exe and all related data
2009-11-03 08:39:04, Info SYSPRP Removing scheduled task for lpremove.exe succeeed
2009-11-03 08:39:04, Info SYSPRP Removing MUIUnattend-OOBE handshake value
2009-11-03 08:39:04, Info SYSPRP MUIUnattend-OOBE handshake value is not present on the system
2009-11-03 08:39:04, Info SYSPRP Sysprep_Generalize_MUILangCleanup End.
2009-11-03 08:39:04, Info [0x0f0081] SYSPRP LaunchDll:Successfully executed 'C:\Windows\System32\LangCleanupSysprepAction.dll,Sysprep_Generalize_MUILangCleanup' without error
2009-11-03 08:39:04, Info [0x0f008b] SYSPRP RunRegistryDlls:Found entrypoint in registry at SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SysPrep\Cleanup\{c15690f3-5908-1929-16d3-ec814bdc5adc}; will try to launch 'C:\Windows\system32\msdtcprx.dll,SysPrepDtcCleanup'
2009-11-03 08:41:21, Info [0x0f0080] SYSPRP LaunchDll:Found 'C:\Windows\System32\sysprepMCE.dll,Sysprep_Generalize_MCE'; executing it
2009-11-03 08:41:21, Info [0x0f0081] SYSPRP LaunchDll:Successfully executed 'C:\Windows\System32\sysprepMCE.dll,Sysprep_Generalize_MCE' without error
2009-11-03 08:41:21, Info [0x0f004c] SYSPRP WaitThread:Exiting spawned waiting thread
2009-11-03 08:41:21, Info [0x0f007a] SYSPRP FCreateTagFile:Successfully created tag file C:\Windows\System32\sysprep\Sysprep_succeeded.tag
2009-11-03 08:41:21, Info [0x0f0041] SYSPRP WinMain:Processing system shutdown request.
2009-11-03 08:41:21, Info [0x0f0074] SYSPRP ProcessShutdown:Successfully enabled the shutdown privilege
2009-11-03 08:41:21, Info [0x0f0076] SYSPRP ProcessShutdown:Successfully called InitiateSystemShutdownEx to shutdown the computer
2009-11-03 08:41:21, Info [0x0f0052] SYSPRP Shutting down SysPrep log
2009-11-03 08:41:21, Info [0x0f004d] SYSPRP The time is now 2009-11-03 08:41:21
JustinS- Has ANYONE been able to sysprep a windows 7 image where it enables the administrator account , auto-logins to that account and simply prompts the end user for a computer name?
JustinS - Yea, it's actually not as difficult as some of the posts that i've read have led on. For a quick template. if you use MDT 2010, import your OS of choice, create a task sequence that installs the specified OS, then take a look at the unattend.xml that is automatically generated, you can see how the majority of your requests are accomodated.

