Building custom operating system images is a lot of fun.  I enjoy the challenge that it presents and the frustration of working out the small issues.  The past few days have presented me with a rather interisting problem that even relentless searching on Google couldn’t resolve.  I found out today that Windows 7 can only have sysprep run against it a total of three times before odd things start to happen.  Maybe this was common knowledge to some system admins but it sure is hard to find documented proof of this.

In my case it was an administrator account that wouldn’t auto logon to finish the deployment.  The account was left as disabled even though the unattend.xml file clearly was setup to enable the administrator account.  It took a support call to Microsoft and a good long conversation with one of their engineers before we came to this conclusion.

So what is the proper way to create, capture, deploy, update, capture, etc…?

According to the Microsoft engineer I was working with they recommend building your image in a virtual environment and using the snapshot feature before running sysprep against Windows.  When you need to go back and update the image later on you can restore to that snapshot, make your changes and take a new snapshot before syspreping and capturing again.  This will always keep your rearm count down and you won’t have to worry about any of the strange issues associated with it.

SO, I get to start that project over again now but at least I’ve learned something new and hopefully I can setup a process that will perform better in the end.


PS: I am aware that there are other ways to get around the rearm count issue, such as setting the SkipRearm parameter to 1 in the unattend.xml file.  These methods work but they still are not recommended by Microsoft.