So this week I was working on getting Windows 7 deployed onto a lab of 30 computers at my school. Long story short, it was a nightmare, but I learned quite a bit, so I suppose it was all worth it. This blog post outlines some of the problems I ran into
Image Preparation
Okay. I thought this was going to be very much like a Windows XP deployment session, so I started to install all the programs I usually use on the lab computers on a fresh Windows 7 machine. It all went well, and I decided to sysprep it (like I do with the Windows XP machines). The only thing I had to do different was to ensure that the Windows Media Home Sharing service was disabled (look in msconfig).
The actual image creation went as planned until I ran into Problem #1: Sysprep leaves the machine in an unusable state.
Seriously. It’s completely unusable – sysprep tells me to reboot to try again. I tried the process again a couple of times and could not get it to work – but since I’m imaging this image to machines of exactly the same type I decided not to use sysprep this time (not really what I desired, but I was short on time).
Altiris DS and Rapideploy
Okay. So I started off by trying to take an image using Altiris and Rapideploy. It was going fine (after I managed to create a Windows PE environment with the appropriate network drivers) until RapiDeploy got about 46% through the image – which leads to Problem #2 – insufficient disk space
This was a weird error. I’ve done this maybe 15-20 times before and I’ve never had this issue (and of course, I checked the obvious – I did have enough disk space).
So what I decided to do was do the image the old fashioned way! No PXE Booting – all I did was create a Bart PE bootable CD (with network drivers), and ran rapideploy.exe without any parameters and saved the image to the network. It worked!
Post-Imaging
So I deployed the image to a couple of computers, and wouldn’t you know it, I ran into Problem#3. The bloody thing wouldn’t boot. I got the following screen:
(Well actually I got error 0xC000000E, but you get the idea)

Now. The reason this happens is because of the way Windows 7 boots. It (by default) partitions an extra 100MB partition. From my limited understanding this 100MB partition is the boot partition and references files on your other partition (the main one that contains all the data). So the say to fix it is to run the following commands in the Windows PE (or Bart-PE) environment:
BCDEDIT /set {bootmgr} device partition=c:
BCDEDIT /set {default} device partition=d:
BCDEDIT /set {default} osdevice partition=d:
In order to do that in Altiris, you need to make a job that runs in the PE environment (it’s the screen you get after you tell Altiris what you want it to run), and have access to the BCDEDIT.EXE file (my PE environment maps the altiris eXpress share to F: – I put it in there).
Renaming
So at this stage I was sort of jumping with glee. Seems I successfully deployed Windows 7. Guess again. Altiris DS needs to be at least 6.9 SP3 in order to even remotely support Windows 7. After upgrading I found that DS could rename the computers without any issues, but not join them to the domain (Problem #4). I got both of these errors:
Unable to update Client Configuration
Unable to configure Windows Domain Information
As of yet, I have not found a way to join Windows 7 to a domain remotely using Altiris (I’ve read that the usual NETDOM command-line utility doesn’t work anymore, and Altiris’ built-in domain joining thing doesn’t work either). So I joined them manually (ergh, I know, but I was short on time).
Profiles
So I thought to myself…. “I’ll log on as a student to see how things work”. Nope! Complete and utter failure (Problem #5). The reason is because our students use mandatory profiles. What I discovered is that Windows 7 uses a different profile to Windows XP. All you need to do though is create a new folder for the profile with the same name append a .V2 at the end of it. Like so:

The profile path is still the same (eg \\server\profiles$\student ), and Windows XP uses the profile in the student folder, and Windows 7 uses the profile in the student.v2 folder.
I created a mandatory profile the way I usually do, and tested it using my test account (which I created the profile with), and it appeared to work OK. Then I got a student to log on and I got this lovely error (Problem #6).
Group Policy Client Service Failed the logon – Access Denied
Great. As it turns out, Vista and Windows 7 have this concept of Profile Permissions (that aren’t the same as the permissions set at the file level). So, what I had to do is try and log on with a local account, set everything the way I liked it, log out, log in as an Administrator, and do to Advanced System Settings and click User profiles -> Settings. The idea here is that you have to use the COPY TO button to set permissions of the profile. However, I ran into Problem #7 – the copy to button was greyed out.

I trawled the net. Found nothing of use (rebooting didn’t help). So what I ended up was doing the following. I copied the local default profile (that worked) and set the permissions accordingly.

Then what I did is copy that profile that has the correct permissions to my student.v2 folder. Then, I
- Made the student.v2 folder writable for my test account
- Logged in using my test account
- Set up the profile the way I liked
- Logged off
- Renamed the student.v2\ntuser.dat to ntuser.man (making it a mandatory profile)
- Changed the permissions to read-only for student.v2
After this, all students were able to log on successfully.
Group Policy
JUST when I thought things were finally ready, I ran into Problem #8. The start menu for students wasn’t working. We had been using folder redirection to point all students to the same start menu, but the All Programs folder was (empty). Of course, this worked fine in Windows XP, and the strange thing was that the shared desktop (which was nearly an identical setting) seemed to work fine. The culprit was Group Policy. I had the following setting enabled:
Remove User’s Folders from the Start Menu
Now I have no idea how that setting even got there – it seems to have no effect on Windows XP machines, but apparently makes the Shared Start Menu disappear on Windows Vista and 7 machines. So, I left this setting as “Not configured” and the Start Menu CAME BACK!
Conclusion
Well… it’s been an experience, but I now have a fully functioning lab of 30 computers. I’ll work on the altiris domain-joining a little more, but I think I might start upgrading some existing XP boxes if Windows 7 is a hit with the kids next week.