Hi Everyone,

I am in the process of prepping a Windows 7 Image to load up to KBOX 2000. I am now on Image version 5 (as in 5 attempts) due to some issues with the Unattended file I was using.

I have cleared them all up, but cannot get rid of this last message that keeps happening: "Windows could not parse or process unattended answer file [Specialize]".

To give you an idea of what I am attempting I do the following:
1)Log into a fresh install of Windows 7, using crtl-shift-f3 to get into Audit mode.
2)Fully patch the OS.
3)Install software specific to our Agency
4)Setup the Administrator profile (local).
5)Copy the unattend file onto the C:\ and run sysprep /generalize /oobe /shutdown etc.

That part all works fine. No errors reported.

However on a reboot of the newly sysprep'd OS, it goes into a boot loop. It will generate the error message above first (after it finishes installing all devices, etc.), and restart. Then on restart it will advise that the OS restarted at a critical point, and is now damaged.

I think it has something to do with the CopyProfile=True setting but not 100% sure. I am going to try again, based this KB article from MS: http://support.microsoft.com/?id=973289, where it appears you must use full path to run sysprep...don't know why that would make a difference, but I have seen posts from other indicating the same.

On that note the MS article advises that the PC should be allowed to boot up (run sysprep with /reboot instead of /shutdown) to verify that the copyprofile worked. Does that not mess up the image to KBOX? Or if it works, do I sysprep it again?

Anyway...I am at a loss right now, so any help would be great.

0 Comments   [ + ] Show comments


Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.


Unable to parse usually means there's an error in the sysprep file.

Can you post it so we can take a look?

Just remember to delete you password and keys.
Answered 06/16/2011 by: dchristian
Red Belt

Actually..I think I have it figured out. It was not actually a sysprep error, but something in the image itself. Appears to be related to some printer installations I did, from the domain. We were trying to put as many drivers as we could in the image, due to Windows 7 permission issues with older model printers.

I re-did the image, and went step by step, trying to isolate when the sysprep error would appear. If I did not install the networked printers, the image would sysprep without issue.
Answered 06/20/2011 by: hutcha4113
Second Degree Blue Belt

You could write the printers as a postinstall task.
Something BAT postinstall task(s) like this might do the trick:
rundll32 printui.dll,PrintUIEntry /p /n\\machine\printer

A few other options & examples:
rundll32 printui.dll,PrintUIEntry /?
Answered 06/20/2011 by: cblake
Red Belt

I prefer to use a vbscript to join printers, both as managed installs on the K1 and post install tasks on the K2. I'd rather just manage them through AD, but am not allowed to for...reasons.

Anyway, here's the script I use:

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

set objNewPort = objWMIService.get("Win32_TCPIPPrinterPort").SpawnInstance_
Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
Set objDriver = objWMIService.Get("Win32_PrinterDriver")

objDriver.Name = "Kyocera TASKalfa 420i KX" 'Use Driver name in INF file
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.FilePath = "C:\\PrintInstall\\Driver\\" 'Path to inf file
objDriver.Infname = "C:\\PrintInstall\\Driver\\OEMSETUP.INF" 'Path and name of inf file
intResult = objDriver.AddPrinterDriver(objDriver)

'Installs Printer Port
objNewPort.Name = "" 'change to the port address or name if local printer
objNewPort.Protocol = 1
objNewPort.HostAddress = "" 'change to the port address or name if local printer
objNewPort.PortNumber = 9100 'Change to appropriate port number if needed
objNewPort.SNMPEnabled = True

'Install Printer
objPrinter.DriverName = "Kyocera TASKalfa 420i KX" 'change to match the driver name in the INF same as first line above
objPrinter.PortName = "" 'change to the port address or name from above
objPrinter.DeviceID = "Mayfair HH - Kyocera TaskAlfa 420i KX" 'Friendly name displayed in OS Printer List
objPrinter.Location = "" 'Can be Used to Add Location Field in OS
objPrinter.Default = 1
objPrinter.Network = True

I keep meaning to build a share repository for all of my driver files and point to it, but for the time being I just build a .exe using SFXMaker and copy all the files locally. It seems to work better with our remote users anyway and they are 80% of our workforce.

This basically does the same thing as what Chris is suggesting above, but works better imo. It also allows you to be more specific with how the printer will show up in the OS and standardize your naming scheme across your domain.
Answered 06/27/2011 by: dyehardfan
Second Degree Blue Belt