For the reasons listed on the Manually move Server
2008 Profiles (Users) directory page, I decided after several Windows Server 2008 R2 installs to automate
the process of defining an alternate profiles directory. I have verified this method will also work for a
Windows 7 machine, but I have not tested Windows Vista.
After a lot of wasted time trying to get the Windows Automated Installation Kit (WAIK) to just create an
autounattend.xml file (impossible without fully setting up an installation point), I found enough information
to pull together a manually created file. Considering the lack of information out there on this topic,
hopefully this will save an admin some time.
To get 64-bit Server 2008 or Windows 7 to install with an alternate profiles directory, simply copy the
following text into a file named 'autounattend.xml', then copy the file to the root of a USB drive, then plug
in the USB drive to the computer before you begin setup from DVD. For 32-bit installs, replace all occurances
of "amd64" with "x86".
Tip: This is incredibly easy in a Hyper-V virtual machine! When you configure the VM, just attach a
virtual floppy drive image (.vfd file) to the VM with the autounattend.xml file in the floppy image. If you
don't have handy a method for creating the floppy image, you can download my
virutal floppy with autounattend.xml file
image, which contains the autounattend.xml file listed below.
Note: I customized a couple additional settings, be sure to review! You can attach this .vfd file
to an already running VM to make edits to the files on this .vfd image.
DISCLAIMER: Using this information, or any of this advice may turn your system into a puddle of
silicon. Use at your own risk! Perhaps it was an accident that this worked for me. This information
is intended for IT administrators, if you are unsure of any of these terms then you should probably get some
expert advice.
autounattend.xml
-----------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<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">
<Display>
<ColorDepth>32</ColorDepth>
<HorizontalResolution>1024</HorizontalResolution>
<RefreshRate>60</RefreshRate>
<VerticalResolution>768</VerticalResolution>
</Display>
<FolderLocations>
<ProfilesDirectory>%SYSTEMDRIVE%\Profiles</ProfilesDirectory>
</FolderLocations>
<OOBE>
<HideEULAPage>true</HideEULAPage>
</OOBE>
<TimeZone>Central Standard Time</TimeZone>
</component>
</settings>
<settings pass="windowsPE">
<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>
<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">
<Display>
<ColorDepth>32</ColorDepth>
<HorizontalResolution>1024</HorizontalResolution>
<RefreshRate>60</RefreshRate>
<VerticalResolution>768</VerticalResolution>
</Display>
<UserData>
<AcceptEula>true</AcceptEula>
</UserData>
</component>
</settings>
</unattend>
-----------------------------------------------------------------------------------------
If you elect to leave the TimeZone setting in, you may need to look up the proper text for your time zone.
The text for all TimeZone values can be found on a running system in the registry, under key:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
Of course, since this file was cobbled together manually, this may contain mistakes. Feel free to send me
feedback if you find any mistakes or if this saved you a bunch of time (email address on home page).
Note: the warning at TechNet -
Unattended Windows Setup Reference, ProfilesDirectory to only do this only in a test environment should be
heeded when defining a location on a different volume. I have not tried that scenario, I only changed the
location on the same volume and have not had any (detected) problems.
If you define an alternate profiles directory, there are known issues with system directory junction points
documented in Microsoft KB article 929831. I have
created a script to fix system directory junction
points page.
|