cuziyq
asked on
Unattended XP Installation Rebooting During Network Detection
I am trying to make myself a Windows XP Media Center Edition unattended installation disc which will set up my machine just the way I like it every time I reload. I am using $OEM$ distribution folders for drivers and a heavily customized WINNT.SIF setup script. I've done this many times in the past with various machines and versions of Windows. But this time, I am running into a problem I've never had before . . .
The system completes text mode setup just fine. When it moves on to the graphical portion, it does the hardware detection successfully, then prompts for user name and password, organization, time zone, etc. Then after that, when it moves on to detecting network hardware, the system reboots just as the detection gets to 100%. It never shows the dialogs for network settings, domain/workgroup, etc. When it reboots, it begins the graphical portion of setup all over again in an endless loop.
Right now I am testing it as an ISO image in a virtual machine. The behavior occurs in both Virtual PC and VMWare. It seems to work fine if I get rid of the WINNT.SIF file, so the image seems solid. But I have verified every option in the WINNT.SIF file and nothing is wrong with it as far as I can see. So maybe something else is going on. Here is the WINNT.SIF file (with my product key and name/password removed, of course):
[Data]
AutoPartition=1
MsDosInitiated="0"
UnattendedInstall="Yes"
InstallDir=\WINDOWS
[Unattended]
UnattendMode=ProvideDefaul t
OEMSkipEula=Yes
OEMPreinstall=Yes
TargetPath=\WINDOWS
Repartition=No
FileSystem=*
UnattendSwitch="Yes"
WaitForReboot="No"
OEMPnPDriversPath="DRIVERS \ATIDISP;D RIVERS\ATI WDM;DRIVER S\AUDIODRV ;DRIVERS\E THERNET;DR IVERS\ITER AID;DRIVER S\MEMCTL;D RIVERS\SAT ARAID;DRIV ERS\SLISAT A;DRIVERS\ SMBUS"
DriverSigningPolicy=Ignore
AutoActivate=No
ProgramFilesDir="D:\Progra m Files"
ProgramFilesPath="D:\Progr am Files"
CommonFilesDir="D:\Program Files\Common"
CommonProgramFilesDir="D:\ Program Files\Common"
[GuiUnattended]
AdminPassword=xxxxx
EncryptedAdminPassword=Yes
AutoLogon=Yes
AutoLogonCount=1
OEMSkipRegional=0
OEMSkipWelcome=1
ProfilesDir="D:\User Profiles"
[UserData]
ProductKey=XXXXX-XXXXX-XXX XX-XXXXX-X XXXX
FullName="xxxxxxxxxxxxxxxx xxx"
OrgName="xxxxxxxxxxxxxxxxx xx"
ComputerName=XXXXX
[Display]
BitsPerPel=32
Xresolution=1280
YResolution=960
Vrefresh=100
[Identification]
JoinWorkgroup=XXXXXXXXX
[Components]
msnexplr=off
[SetupParams]
UserExecute="%SYSTEMDRIVE% \DRIVERS\U TILITY\SYS CONF.CMD"
The system completes text mode setup just fine. When it moves on to the graphical portion, it does the hardware detection successfully, then prompts for user name and password, organization, time zone, etc. Then after that, when it moves on to detecting network hardware, the system reboots just as the detection gets to 100%. It never shows the dialogs for network settings, domain/workgroup, etc. When it reboots, it begins the graphical portion of setup all over again in an endless loop.
Right now I am testing it as an ISO image in a virtual machine. The behavior occurs in both Virtual PC and VMWare. It seems to work fine if I get rid of the WINNT.SIF file, so the image seems solid. But I have verified every option in the WINNT.SIF file and nothing is wrong with it as far as I can see. So maybe something else is going on. Here is the WINNT.SIF file (with my product key and name/password removed, of course):
[Data]
AutoPartition=1
MsDosInitiated="0"
UnattendedInstall="Yes"
InstallDir=\WINDOWS
[Unattended]
UnattendMode=ProvideDefaul
OEMSkipEula=Yes
OEMPreinstall=Yes
TargetPath=\WINDOWS
Repartition=No
FileSystem=*
UnattendSwitch="Yes"
WaitForReboot="No"
OEMPnPDriversPath="DRIVERS
DriverSigningPolicy=Ignore
AutoActivate=No
ProgramFilesDir="D:\Progra
ProgramFilesPath="D:\Progr
CommonFilesDir="D:\Program
CommonProgramFilesDir="D:\
[GuiUnattended]
AdminPassword=xxxxx
EncryptedAdminPassword=Yes
AutoLogon=Yes
AutoLogonCount=1
OEMSkipRegional=0
OEMSkipWelcome=1
ProfilesDir="D:\User Profiles"
[UserData]
ProductKey=XXXXX-XXXXX-XXX
FullName="xxxxxxxxxxxxxxxx
OrgName="xxxxxxxxxxxxxxxxx
ComputerName=XXXXX
[Display]
BitsPerPel=32
Xresolution=1280
YResolution=960
Vrefresh=100
[Identification]
JoinWorkgroup=XXXXXXXXX
[Components]
msnexplr=off
[SetupParams]
UserExecute="%SYSTEMDRIVE%
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Hi cuziyq
Thanks for the points and your reply, found it very informative, couple of things I didn't realise:
The FileSystem=* will have a look at that it would be quite handy for private installs, although for corporate I use a network installation using WinPE to connect to a network share then paritition using DiskPart then quick format etc.. before running winnt32.exe.
The [SetupParams] I'll also have to look at, I've never seen this section before, I've always used cmdlines.txt for both the unattend.txt and sysprep. It'll be interesting to compare the two, to see the pros and cons of both, I'm assuming M$ had a reason for placing both of these methods.
Again thanks for your reply.
Cheers
Thanks for the points and your reply, found it very informative, couple of things I didn't realise:
The FileSystem=* will have a look at that it would be quite handy for private installs, although for corporate I use a network installation using WinPE to connect to a network share then paritition using DiskPart then quick format etc.. before running winnt32.exe.
The [SetupParams] I'll also have to look at, I've never seen this section before, I've always used cmdlines.txt for both the unattend.txt and sysprep. It'll be interesting to compare the two, to see the pros and cons of both, I'm assuming M$ had a reason for placing both of these methods.
Again thanks for your reply.
Cheers
ASKER
I am gonna give you the points anyway, because I didn't know about the encrypted Admin password thing not being able to work with the AutoLogon feature. You were right on the spot with that one. Seems odd that M$'s tool would allow you to select them both. Oh well.
Also, I wanted to respond to some of the comments you made about my file, just in case you are interested.
InstallDir in the [Data] section is something M$ puts there when you run Winnt32.exe from a PE disc. Don't know what it's for, but it doesn't seem to break anything. Since M$ uses it, I decided to use it too.
As for the UnattendMode, I wanted it to be at ProvideDefault so I still get prompted for all the setup values in case I want to change them.
FileSystem=* in the [Unattended] section means that the text mode portion of setup will prompt for the partition and allow you to select the NTFS (Quick) formatting option when doing the install. Give it a try! :-)
For the locations of Program Files and Common files, the *new* way of specifying them is with ProgramFilesDir and CommonProgramFilesDir. However, I believe it was with Windows 2000 pre-SP1, it used to be ProgramFilesPath and CommonFilesDir instead. Just like the InstallDir thing above, it doesn't seem to break anything. I just got used to using a long time ago and never quit. Don't know why I am so anal like that :-)
And finally, the [SetupParams] section . . . I did this because my custom batch script changes the wallpaper, theme, and some other settings in the Default User profile to reflect my company's logos and such. Also, it chages a couple reg keys that Windows "protects" when booting normally. (By protection, I mean regedit will allow you to modify them, but Windows changes them back automatically without prompting).
Anyhoo. hope that was informative. Thanx for the reply.