Tuesday, April 17, 2012

Win7 Installation - WAIK

In my last post I settled on doing an unattended installation of Win7 in order to place my /Users and /ProgramData folders on my Data drive.

Now I'm going to explore how to set that up.



First step is to download the kit from the following link.

Note, this file is 1.7GB in size, so give yourself a some time to download this.
  • Insert your Win7 DVD, or mount your Win7 .iso image (I use MagicDisc by MagicIso). (For the remaining steps I'll assume this is in your L: drive)
  • Run the Windows System Image Manager application.
  • Select your Windows Image file: L:\sources\install.wim
  • Then select which image you'll be using: Windows 7 ULTIMATE
  • In the Windows Image pane, select which components you want to set for your installation
This is the fun part. There's a ton of properties here that you can set pre-installation. I have no idea what most of the them do, but I'm looking for just a few to set.

The main two properties I want to set are ProfilesDirectory and the ProgramData. (Note: this links are for Vista; I couldn't find where the Win7 ones are; the two help trees are quite different.)
  • Find the amd64_Microsoft-Windows-Shell-Setup_6.1.7600.16385 Component and the sub-node, FolderLocations
  • Right click and choose to Add Setting to Pass... 
  • This property will now be added to the Answer File pane and you can set the values for the two Settings.
  • I set ProfilesDirectory to D:\Users
  • I set ProgramData to D:\ProgramData



(Use 64-bit WAIK for 64-bit images, 32-bit WAIK for either)



Here's a guide on setting up an unattended installation.




There were some issues with Vista where installing /Users to a different drive would prevent some patches, but that was resolved in a KB hot fix, which I'm assuming rolled into Win7.



Set these fields in the unattended file:

(Note: this links all go to the Vista WAIK, find the ones for Win7)
How to move page file and printer spool file:
http://support.microsoft.com/kb/314105
http://maximumpcguides.com/windows-vista/move-and-optimize-windows-vistas-paging-file/

Move hibernate file as well. (post install?)

Install from USB key:
http://technet.microsoft.com/en-us/magazine/dd535816.aspx
http://www.maximumpc.com/article/howtos/how_to_install_windows_7_beta_a_usb_key

Got this finally working just using an AutoUnattend.xml file on a USB stick inserted into the PC at the same time you're installing Win7. (CD + USB stick, or install from USB stick and put this file on there as well)


Here's a link to this file: AutoUnattend.xml







<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<servicing></servicing>
<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>AAAAA-BBBBB-CCCCCC-DDDDD-EEEEE</Key>
<WillShowUI>OnError</WillShowUI>
</ProductKey>
<AcceptEula>true</AcceptEula>
<FullName>root</FullName>
<Organization>AcmeWEC</Organization>
</UserData>
<Display>
<ColorDepth>32</ColorDepth>
<HorizontalResolution>1280</HorizontalResolution>
<VerticalResolution>1024</VerticalResolution>
</Display>
<UseConfigurationSet>true</UseConfigurationSet>
</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>en-US</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UserLocale>en-US</UserLocale>
</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">
<FolderLocations>
<ProfilesDirectory>D:\Users</ProfilesDirectory>
<ProgramData>D:\ProgramData</ProgramData>
</FolderLocations>
</component>
</settings>
<settings pass="specialize">
<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">
<TimeZone>Pacific Standard Time</TimeZone>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:l:/sources/install.wim#Windows 7 ULTIMATE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>





This will still ask you which partition you'd like to install Windows on, which gives you the chance to do advanced formatting of your drives/partitions.



P.S. Thanks to http://www.manoli.net/csharpformat/ for the code formatting above.

No comments:

Post a Comment