From this document: http://community.landesk.com/support/docs/DOC-6948
it looks like the CTOS needs to add the LDProvision install steps to the specialize section of the Unattend.xml file.
I was injecting my Unattend.xml file to c:\unattend.xml and this document states it should be in c:\windows\panther (which actually makes sense).
I have changed my template and trying it again.
Nope, now it says it couldn't parse the unattend file at c:\unattend.xml
I've had this same issue. I dont think it matters where you put your unattend.xml file, as long as you point it the sysprep.exe command to the correct location of that unattend file. The parsing error you get may be (i think) because there may be another unattend.xml file on the machine besides the one you are injecting with LD. In my case i had two: one in: c:\windows\System32\sysprep\ and one in c:\Windows\System32\sysprep\Panther. I am not sure why i had two. the second one was probably my doing but i think there is one by default in the ...sysprep\ directory. What i did was just delete them both in my provisioning template before i injected the real one and it seems to be ok now.
However like you, i am still plagued by the dreaded CTOS failure. And i have had a hard time getting an answer. I think it may because LD is appending ldprovisioning.cmd to the wrong section of the unattend.xml file. When i checked mine it was in the "Audit User" section and not the "Specialize" section. That may or may not make a difference but the environmental variable that LD added to the file was %%systemdrive%% and not %systemdrive%. And i know that can't be right. Below is that section of my unattend file:
<component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronousCommand wcm:action="add"><Path>c:\windows\System32\sysprep\sysprep.exe /oobe /generalize /reboot /unattend:c:\Windows\System32\sysprep \unattend.xml</Path>
<Description>LANDesk Provisioning Install</Description>
<Path>cmd /c %%systemdrive%%\ldprovisioning\ldprovisioning.cmd</Path>
So i am going to try to put that whole section in the unattend.xml file before i even inject it.
I'll let you know if it works.
I am testing this as well.
I added the ldprovisioning stuff to the specialize section of my unattend.xml
Then I added a step to create the c:\ldprovisioning directory and copy those files down (since this is something that CTOS normal does, but I don't want to run CTOS because I don't want to corrupt my unattend file)
What a pain. If this works, then I might just keep it this way.
I importedhe setupcomplete.cmd as a script, then modified it to include the ldprovisioning.cmd line as the last statement in it. then I injected the setupcomplete.cmd as a Post-OS script then CTOS..
last line in the setupcomplete.cmd was written like this:
Provisioning Agent comes right up and keeps going after sysprep completes..
Sounds good, I'll give it a try.
That worked. I still have more tweaks to my unattend.xml file (time zone, etc), but at least the provisioning agent installed and the script continued.
Now I can keep building on that foundation to add drivers, etc.
Thanks for your help.
How do you find setupcomplete.cmd? From what i have read, sysprep deletes it after setup.
It worked once. I just got a message that it didn't like my unattend.xml file (the same one that worked before).
You have to create the setupcomplete.cmd file, its not on the system. And No, sysprep does not delete it. you use setupcomplete to delete the sysprep files. you do not have to configure your unattend.xml file to run the setupcomplete.cmd either, it runs after sysprep has completed.
You will have to create the directory structure for setupcomplete.cmd
Location is: c:\windows\setup\scripts\setupcomplete.cmd
This is what I have in my setupcomplete.cmd, only 2 lines
del /q /f c:\windows\panther\unattend.xml
It is working now.
I might add the unattend.xml file deletion, but my has passwords encrypted, so it's not a big deal to leave it there.
I'll give it a shot.
I got an error saying the script could not be found. the ldprovisioning directory is not there.
So you inject this setupcomplete.cmd before CTOS? Isn't CTOS what creates the ldprovisioning directory?