Jump to content

Few issues with 'unattended' install


Recommended Posts

Hi all,

I've attached a slightly sanitised versions of my autounattend-cleaned.xml and oobe-cleaned.xml files to this post. I'd appreciate it if someone could look over them and help me understand why the following doesn't work as I want:

1. Before the installation, it prompts me for the language settings (defaults to English US). I think I've set it to automatically use UK English, but this isn't being applied.

2. When running the first boot after 'sealing' the system (running the sysprep gui with Enter OOBE and generalize ticked), it again prompts for language settings. This time all the defaults are correctly set to UK English, but I'd rather this page were skipped

3. Again during first boot after sealing, it prompts to create a user and enter a machine name. I'd rather this step were skipped

4. First boot after sealing, it prompts for the network location (Work, Home, Public). I think I've told it to use 'Work', but this page is still shown.

5. First boot after sealing, it also prompts for updates (automatic, no updates etc.). Again, I think I've told it not to apply updates, but this page is still shown.

Also, I'm having to use setupcomplete.cmd to import a registry file to enable auto-login. This may only be required because of the prompt for user details as in 3) above. Is this necessary, or will the AutoLogon entries in the autounattend.xml file be persistent if I can get rid of the prompt to create a user?

I'd appreciate any advice you can offer.

Thanks

Andy

Link to comment
Share on other sites


Let's start with autounattend-cleaned.xml...

Line 3, what is up with this:

    <servicing></servicing>

SetupUILanguage not specified... Your Code:

            <InputLocale>2057:00000809</InputLocale>
<SystemLocale>en-GB</SystemLocale>
<UILanguage>en-GB</UILanguage>
<UILanguageFallback>en-GB</UILanguageFallback>
<UserLocale>2057:00000809</UserLocale>

Mine:

            <SetupUILanguage>
<UILanguage>en-us</UILanguage>
</SetupUILanguage>
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-us</SystemLocale>
<UILanguage>en-us</UILanguage>
<UserLocale>en-US</UserLocale>

Your Languages (from above) are in the Microsoft-Windows-International-Core component in the oobeSystem Pass. This should be Microsoft-Windows-International-Core-WinPE and in the WindowsPE pass.

You have Microsoft-Windows-Shell-Setup in two different passes. If you want your install to boot into Audit Mode, you do not need this in your AUTOUNATTEND.XML. These objects go into the XML you use with Sysprep (SYSPREP.XML) . Actually you have so much wrong in this file even I'm getting confused looking at it. Just take a look at my example, which is for Win7 Pro x64 and puts a machine in Audit Mode:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-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">
<UserData>
<ProductKey>
<Key>HYF8J-CVRMY-CM74G-RPHKF-PW487</Key>
<WillShowUI>OnError</WillShowUI>
</ProductKey>
<AcceptEula>true</AcceptEula>
</UserData>
<ImageInstall>
<OSImage>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>1</PartitionID>
</InstallTo>
<WillShowUI>OnError</WillShowUI>
</OSImage>
</ImageInstall>
<DiskConfiguration>
<Disk wcm:action="add">
<ModifyPartitions>
<ModifyPartition wcm:action="add">
<Active>true</Active>
<Extend>true</Extend>
<Format>NTFS</Format>
<Label>System</Label>
<Letter>C</Letter>
<Order>1</Order>
<PartitionID>1</PartitionID>
</ModifyPartition>
</ModifyPartitions>
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
<CreatePartitions>
<CreatePartition wcm:action="add">
<Order>1</Order>
<Size>20480</Size>
<Extend>false</Extend>
<Type>Primary</Type>
</CreatePartition>
</CreatePartitions>
</Disk>
<WillShowUI>OnError</WillShowUI>
</DiskConfiguration>
</component>
<component name="Microsoft-Windows-International-Core-WinPE" 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">
<SetupUILanguage>
<UILanguage>en-us</UILanguage>
</SetupUILanguage>
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-us</SystemLocale>
<UILanguage>en-us</UILanguage>
<UserLocale>en-US</UserLocale>
</component>
</settings>
<settings pass="oobeSystem">
<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">
<Reseal>
<Mode>Audit</Mode>
</Reseal>
</component>
</settings>
<cpi:offlineImage cpi:source="catalog:d:/sources/install_windows vista business.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Your OOBE.XML is fine, which you just put it in its place and Sysprep finds it. After you boot into Audit Mode, you can use sysprep and /unattend: switch to specific the XML you want to add your OS Settings. Example: c:\windows\system32\sysprep\sysprep.exe /oobe /shutdown /generalize /unattend:c:\windows\panther\sysprep.xml.

Link to comment
Share on other sites

Ok, I think there was some confusion as to the ordering of my file. I've now reordered it and attached it again autounattend-cleaned.xml

As you can see, the Microsoft-Windows-International-Core-WinPE section is present in the windowsPE pass. I specify the following:


<component name="Microsoft-Windows-International-Core-WinPE" 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">
<SetupUILanguage>
<UILanguage>en-GB</UILanguage>
</SetupUILanguage>
<UILanguage>en-GB</UILanguage>
<InputLocale>2057:00000809</InputLocale>
<SystemLocale>en-GB</SystemLocale>
<UILanguageFallback>en-GB</UILanguageFallback>
<UserLocale>en-GB</UserLocale>
</component>

However, I am still prompted during the first part of the install to select the language, with English US being given as the default. Any suggestions?

Just to clarify one thing, the oobesystem entries will only be applied if I specify the unattend file to apply when I do the sysprep call to 'seal' the installation? I think that may be where I was getting confused, I was assuming that I just needed one file that would be applied for every stage of the installation. I'll retry the installation passing in the unattend file again at the point where I call sysprep to seal the installation.

Can you tell me what else is wrong with the file? You say I have 'so much wrong' with it, but it was all generated using the Windows System Image Manager tool.

Thanks again for your input.

Andy

Edited by adhawkins
Link to comment
Share on other sites

Well since you are specifying audit mode, it may be easier for you to use 1 XML for install to Audit, and a second XML to use with sysprep.

You still have some things mixed up between specialize and oobeSystem, such as OEM information. And you are also specifying things in multiple locations, such as registered organization. You may also want to check with your Partner rep to see if you are allowed to specify registered owner and organization, since it is not in the list of allowed customizations.

A reason why you shouldn't use a single unattend is because you are specifying Audit mode in oobeSystem. A possible result from sysprep is that the machine would always go into audit mode, even if you specify OOBE from the cmdline. So instead of jumping all in with a super-duper XML, try to get the install to audit mode experience done, then add stuff later to be handled during sysprep.

Link to comment
Share on other sites

Having 2 XML files makes sense.

The reason I am specifying the OEM information more than once was really just my failing to completely understand at what point in the process it should be done.

It should like your recommendation of getting to audit mode first is a good one. I can then concentrate on the rest of the stuff.

Thanks for the pointer about Registered Organization and the like. I'll remove those.

Can you offer any assistance as to why the locale stuff for the initial install isn't working? I was a little confused as to exactly what I should be putting in there for a UK install. Can you offer any assistance?

Thanks again for the help so far.

Andy

Link to comment
Share on other sites

First take the XML I posted and change the language settings. Use that to do your install and see if it prompts you for anything. You can remove the drive formatting sections if you want.

You do not need to remove the product key I have in there either. That product key is an install key.

Link to comment
Share on other sites

Done a bit more digging and it seems the 'en-GB' isn't included in the setup, you have to specify the setup UI settings as en-US, but the user locale's etc. as en-GB.

All seems to work now.

Trying to get rid of the 'Computer Name' prompt during the OOBE. I've specified ComputerName in the Microsoft-Windows-Shell-Setup section of 'Specialize' in both the initial autounattend.xml and the one I pass into sysprep before going into the OOBE stage, but I still get the prompt to set the machine name. Any way to get rid of this?

Cheers

Andy

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...