Jump to content

Can You Specify Disk/Part. for profilesDirectory w/o drive letter


Recommended Posts

Posted (edited)

Hi Everyone,

Thanks to these forums I've had some luck with my Vista Business 32-bit unattended install.

However, I ran into problem specifying an alternate location for the ProfilesDirectory (i.e. moving it from C:\Users to <Drive>:\<Directory> .

In my AutoUnattended.xml I have the following entry:

<FolderLocations>
<ProfilesDirectory>I:\Users</ProfilesDirectory>
</FolderLocations>

That would work, however, the drive letter labeling between my running Vista install and in the PE changes, so what I really want to be able to do is specify a hard disk, and partition number, which should stay constant so long as my hardware and partitioning stays constant.

Can I do this? What is the notation?? I'm thinking it's something like this:

<FolderLocations>
<ProfilesDirectory>\Device\Harddisk(0)\Partition(3):\Users</ProfilesDirectory>
</FolderLocations>

But I don't know what notation the PE uses.

Thanks!

Edited by Yubs

Posted

From the "Unattended Windows Setup Reference"

These settings should be used only in a test environment. By changing the default location of the user profile directories or program data folders to a volume other than the System volume, you will not be able to service your Windows installation. Any updates, fixes, or service packs will fail to be applied to the installation. Microsoft does not recommend that you change the location of the user profile directories or program data folders.

Using ProfilesDirectory to redirect folders to a drive other than the system volume blocks upgrades. Using ProfilesDirectory to point to a directory that is not the system volume will block SKU upgrades and upgrades to future versions of Windows. For example if you use Windows Vista Home Premium with ProfilesDirectory set to D:\, you will not be able to upgrade to Windows Vista Ultimate or to the next version of Windows. The servicing stack does not handle cross-volume transactions, and it blocks upgrades.

Otherwise, you can script your pre-install using Diskpart to always create that drive letter for an additional volume.

Posted

Thanks for the reply Tripredacus. Perhaps my description wasn't very clear, so let me try again as that wasn't the question I meant to ask.

I know I can use Diskpart to set up my drive. I know I can specify the path to the users directory as "D:\Users" (or whatever I want), and I know it will block upgrades.

The problem I'm having is that the meaning of "D:" changes during the install process. Using a drive letters is very imprecise and I would prefer to tell the Vista installer "Install the Vista-Users directory on Disk 0, Partition 4".

Say I have four partitions:

Part 1 - XP-OS

Part 2 - XP-DATA

Part 3 - Vista-OS

Part 4 - Vista-Data

I want the Vista installer to put the Vista-Users directory on Partition 4. From within XP (or whatever OS), Partition 4 has the drive letter F:\ but during the vista install, that seems to change (or be unreliable).

Is there is a way to tell the vista installer directly that the Users directory should go to Partition 4?

This seems infinitely more precise than gambling with driver letters.

Hope this doesn't come off as rude, I do appreciate the reply :-)

Thanks

Posted

It doesn't appear that the unattend is designed to do it this way. You could write a script that uses diskpart. This is a general idea:

use a wrapper to launch diskpart, and you can use

diskpart commands

select disk 0

select part 4

detail part

running detail part gives you something like this:

DISKPART> detail part

Partition 1

Type : 07

Hidden: No

Active: Yes

Volume ### Ltr Label Fs Type Size Status Info

---------- --- ----------- ----- ---------- ------- --------- --------

* Volume 1 C NTFS Partition 75 GB Healthy System

You could use AutoIT, for example, if you read the help page on StdoutRead, which will read data from Comspec (command line), then use trim or concat functions to get the data out that you need.

I had written a script that would read info off Zend's CLI app, but I can't find an example right now.

Anyways, you can pull the drive letter from that, and then write it into your XML that way. I would imagine you could use VBS or KIX or anything else instead of AutoIT.

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...