Install Server 2008 and Windows 7 with alternate Profiles (Users) directory.

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.



Copyright © 1996-2024 Ohman Automation Corp. All rights reserved.