Automate even more – Brian Berryman
SUMMARY: Streamlining (and Slipstreaming) your Unattended Install onto CDR(W) or DVD+/-RW
When the first installment of this series of articles appeared on the front page here at Overclockers.com recently, I was amazed at the response it generated.
I started receiving e-mails on it before I knew it was even posted! =O
Some asked questions, and some others asked “When is Part II gonna get posted?!? This is sooooo cool!” All of them had a common thread; a thank you for the first part of this series.
Now, I get a chance to say THANK YOU. Here’s Part II.
While thanks are being passed around, I must give credit for the knowledge I gained to write this where it’s due.
When I got home from my Microsoft classes where we studied how to perform the Unattended installation covered in Part I, I did a bit of “googling”.
If memory serves, my initial Google search words were: Windows XP Unattended install.
What turned up in my search was www.unattended.msfn.org (among many, many hits returned by Google).
This guide, and the forums there (www.board.msfn.org) is an outstanding resource of materials for this subject. To the people who
assembled those pages, and posted tips and tricks in the Forums there I owe a huge thank you.
Thanks also go out to those who assembled the information on burning a bootable installation disk at The Elder Geek.com. Thanks you!
NOTE: Real life has a way of rearing its head and for a time – it did in mine. To all those who wrote asking “When?”, and I answered “Soon.”, I apologize for the delay. I hope it was worth the wait for you. 😉
At the end of Part I, we had created, using the Setup Manager Wizard, an Answer File called Unattend.txt (which we renamed winnt.sif), as well as one or two batch files named
Unattend.bat (and possibly Unattend.udb). These files we then placed onto a clean, formatted floppy disk.
Windows XP, in its installation, automatically checks for the existance of these files, and if it finds them, uses the information you placed into them to “fill in the blanks” during the
graphical portion of the installation.
In order to move these files off of the floppy disk onto the CD with Windows, we’ll need to create several more small files, which we’ll cover shortly.
The process of this article will break down into four segments:
- Making folders on your C: drive, and preparing the Windows XP files.
- Adding drivers and 3rd party applications right onto the install disk.
- Fine-tuning Windows XP through a Registry Edit file.
- Burning the disk!
As mentioned at the end of Part I, you will need a CD burner to perform the tasks outlined in this article. A DVD burner is even better, as it will raise the amount of space to work with
for adding applications from about 300MB or so up to 4+GB.
With a CD burner, you might have to pick and choose what you’d like to add in at the end. With a DVD, you’ll probably run out of things to add before you run out of space. One application
in particular is well suited for unattended installs, but will not fit on a CDR(W), is Microsoft Office XP/2003.
Both of these applications allow you to emulate a 2nd system on your machine without disrupting your current partitions or file system. In effect, you can test your Unattended files before burning the
CDR(W) or DVD, weeding out any mistakes before burning a bunch of coasters. Both programs above will support ISO Images (a single file image dump of a CD that has an .iso extension).
Myself? I did things the old fashioned way, which is a bit slower..ok, a LOT slower, but equally effective. I used CDRW media (which I could erase if mistakes were present in my files), and installed a spare
hard drive into my system. When I wanted to try a new CDRW attempt, I’d merely power down and swap the IDE and power cables from drive to drive. Crude, but effective; slower, as it takes longer to burn a CDRW than a CDR.
Confession: By the time I was happy with how my winnt.sif file was, had the regedit tweaks right and had the 3rd party applications squeezed in with the batch file to launch their install correct, I did indeed have a
half dozen or so CDRW’s in a “To Be Erased Later…” pile. Expect to make an error or three before getting things exactly as you’d want them.
After reading through this article, you may find you’ll want to redo your original winnt.sif file from before, as burning it onto the disk inside Windows itself presents opportunities
that installing with a floppy cannot. It’s also possible to simply edit your existing winnt.sif file to reflect these additional changes brought about by eliminating the floppy and adding other features.
There are differences between my original winnt.sif and my final. You will likely have the same happen.
- Completion of Part I
- A CDRW or DVD+/-R(W) drive (CDRW is fine, but a DVD burner is outstanding for this project)
- At least 1GB of free space on your hard drive
- Time. This project will take some time. I’ll explain in a bit…
- Windows XP Pro or Home CD with key
- 3rd Party CDR(W)/DVD burning application, such as Nero or Roxio
- A working knowledge of how batch files and regedit files works is very helpful
- A broadband connection (you’ll be downloading XP SP1a – not a small file)
or Virtual PC, for testing your work, OR;
- A spare hard drive (again, for testing)
I’ll be explaining the actual burning process using Nero software. Roxio (and others) will work and can even be included in your installation CD, so when you’ve installed
Windows using your new Unattended Installation CD/DVD, your burning software will be preinstalled.
I will again be using the conventions that C: is where your current install of Windows resides, and D: is your optical drive.
It isn’t relevant what the drive letter is of your burner, but when you build these files, it IS relevant what drive letter you’re installing from, and to. There are places
where you will specify to Windows exactly where to look for certain files you’ve created.
If you tell Windows to look for “thisfile.bat” at the root of D (D:) and D: is your 2nd hard drive and E: is actually your optical drive… well, you can see what would happen.
Change these as required to meet the configuration of the system you’re making this for.
I will also be using the same file naming conventions that are used at www.unattended.msfn.org, so if you want to deviate from what
I’m doing here and add/subtract things, the information here will be in the same format and use the same naming scheme.
This project will take a fair amount of time to complete. Some of the basic tasks (copying the contents of your Win XP CD to your hard drive) will take a few minutes,
and depending on your connection speed, downloading Service Pack 1a, and any Hotfixes you wish to include will take more… perhaps a lot more (thinking 56K’ers).
Slipstreaming them in will add further time needed.
Researching how to incorporate drivers and registry edits can and will take a good deal of time.
And, depending on how far you go with this, researching the correct unattended install switches for that obscure application you “just have to have” can take a while. Even
common applications can be a bit of a bugger.
When I built my first unattended CDR(W)’s, I was using an outdated version of Roxio. I kind of wanted to have both it and Nero 5.5 included with Windows on my CDR(W).
It took a bit of effort to track it down, as everyone else on the planet it seemed had a newer version which used a different switch. I’ll cover these switches fully later on,
but bring them up now just to highlight this, that depending on how far you take this, it can get very time consuming.
Of course, if you just go vanilla, it’s very simple. But where there’s so many possibilities, I’d be surprised if you didn’t take advantage of at least some of them. 😉
To start out, we need to create several folders on your hard drive to place the various files we’ll need into. There will be a main folder, and inside this we’ll create several sub-folders.
First, open “My Computer”, and then open your hard drive. At the root of it, create a folder and name it XPCD.
Before doing the next step, make sure that Windows (the one you’re using now to do this) is set to display all hidden and system files. This needs to be done to allow all files to be copied from the CD
to your hard drive. With the C:XPCD folder open, simply click Tools, Folder Options, and then click the View tab. Once you’ve selected “Show Hidden Files and Folders”, and unchecked “Hide
Protected System Files”, if there is a button to “Apply to all folders”, click it as well.
Next, put your Windows XP CD in, choose “Browse This CD” at the Welcome screen, and copy the entire contents of it into the C:XPCD folder. When everything is copied over, you should see this:
Slipstreaming is the process of integrating Service Packs and other Hotfixes into your installation files and folders. First made available for the Windows 2000 OS by Microsoft, it’s intention was for IT guys to be able to easily set up network shares for installing Windows over a network. This way, The OS and SP could be installed in one operation, rather than two.
What we’ll do next is to download the Service Pack 1a files. The main page for this at Microsoft is located here
, where you can locate SP1a in various languages. The English version (xpsp1a_en_x86.exe) is available here.
NOTE: This file is 125 MB in size. Plan accordingly if your internet connection is dialup and you’d like to continue on with this. This is the largest file you will need to download, so if you do, it’s all easy small stuff from here on out. 😉
If you use the first link above (not the direct one), make sure you download the “Network Install” version of SP1a.
Download this file directly to the root of C: .
While at the root of C:, create another folder and call this one XPSP1a. This will be the folder you will extract the file you just downloaded into.
Next, download WinRar v3.30. This shareware program is a very easy to use application for extracting .rar and other zipped files. It’s less than 1 MB in size.
Double click the file that you downloaded and use the defaults to install it, with the exception of checking “Add to start menu” on the 2nd page of the installation.
After installing it, keep the original file! We’ll add that into your Windows XP CD later on, and you’ll have it automatically installed from now on.
After installing WinRar, you’ll find a number of additions available to you when you right click certain types of files. Go to the root of your C: drive and right click the XP SP1a.exe
(xpsp1a_en_x86.exe) file you downloaded previously. Right click it and choose Extract files….
In the window that opens, select C:XPSP1a as the location to extract the files to. After the files are extracted (it takes a couple minutes), your once empty XPSP1a folder
will have grown to 162 MB, with 1393 files and 73 folders.
Here’s where the magic begins. 😉
Open a Command Prompt (Start > Run > type cmd, and enter). If you have followed the naming conventions I have used, type the following at the command prompt:
First, type cd (space after CD). This will take you to the root of the C: drive. If you’re on anything other than C:, type in C:.
Next, type in cd XPSP1aupdate (space after CD).
Finally, type in update /s:C:XPCD (space after UPDATE).
The Service Pack will now do it’s thing, integrating itself into your “network share”. When it’s done, click “OK” in the Finished window. You’ve just successfully upgraded the files
you copied earlier to SP1a. Well done!
If you’re strapped for space, you can now safely delete the C:XPSP1a folder. It has served its purpose. If you want to, you can also delete the SP1a exe file (xpsp1a_en_x86.exe) you
extracted into that folder. If you’re on dial up, you might just want to burn it directly onto a CDR, so you never have to download it again.
This whole exercise is based on the idea of making your Windows XP installation unique. Yours.
Here is where we’ll start to make this happen.
Start by opening your C: folder, and then open the C:XPCD folder. From here we need to make a decision; How custom do we want this?
As it sits right now, your XPCD folder is a portly 502 MB. You’ve got about 175 MB or so to play with, if you’re burning this onto a standard 700 MB CDR(W).
This might be plenty of room for the odds and ends you’d like to add, and it might not be.
Your files can go on a bit of a diet, if you can live without a few items…. 😉 Let’s look at the folder as it sits now:
NOTE: This next part is optional, but read through it. You might decide later on that 175 MB isn’t quite enough room, and here’s how to get some more space to work with.
If you’re working with a DVD burner, this section is very optional. What we’ll do next is to pare off a few files we can live without to make room for some files to be added later. With a DVD, you’ll run out
of things to add long before you’ll run out of space (you’ve got 4.5+GB to work with, not 675+MB), so leaving these files intact is fine.
This is what you should be looking at in your C:XPCD folder.
There are a number of “non-essential” things you can dispose of, and you can about double the amount of space you have to work with.
DOCS, and VALUEADD can be junked very safely. The two of them combined add up to just under 10 MB. Not a lot, but a start.
The next thing that could go is SUPPORT (12.3 MB).
This removes all the fluff from outside the I386 folder. To slim out install down yet further, we need to pare off some items inside this folder. This is where the big gains are, though.
Open the I386 folder. Here’s a spot where you need to consider your options and possible future use.
If you don’t ever see yourself using this Unattended disk to upgrade with, but only for clean installs, there are three folders you can pull out of the I386, those being
the WIN9XMIG, WIN9XUPG and WINNTUPG folders.
Looking at the names of these, you can tell they are used to migrate 9x platforms, upgrade 9x platforms, and upgrade older NT 4/2000 platforms respectively – not needed with a clean install.
This cut alone doubles the space you’ve already made, plus a bit. These three weigh in at 37.6 MB. The running total so far, if you’ve removed everything = just under 60 MB.
There’s one more folder you can get rid of, if you don’t have any need for other languages. If you need nothing other than English (or the local language you’d normally
use), you can delete the C:XPCDI386LANG folder. Removing this folder (for an English install only) opens up a whopping 99 MB more space (other languages may vary slightly).
That brings our running total of space “gained” up to almost 160 MB. It should, bring your Win XP files, as they sit now, down from 502 to just about 350 MB.
This give us about 325 MB or so to work with, for installing various drivers and 3rd party applications right into the Unattended CD.
If this still isn’t enough for you and you don’t have a DVD burner, you might want to check out this fellow’s page
here. He’s trimmed quite a bit more, and brought his files down to an amazing 185 MB. A good solid working knowledge of
file structures, and how the files themselves work, is required here however. This is some very intricate stuff, not to be handled lightly.
After we build the file structure for the 3rd party items and pick and choose what we want to add, there’s yet one more space saving tip we can use. Buried with the core of the XP files now is a
copy of Windows Installer 2.0.
There are some 3rd party applications that include files for use with older versions of the Installer. These files, while small, can add up if you have a number of applications
that have them. With Windows Installer 2.0 already aboard, these files can be safely pruned. We’ll cover this after the next sections.
Now that we’ve trashed a half dozen folders, we get to create a half dozen or so. These folders are where we’ll put our stuff.
It all starts with a main folder, and inside it we’ll place a number of sub-folders, each with a very specific task.
These folders have some odd names. Just follow along and I’ll explain why they’re named this way after we build the entire tree.
Once you see the folders fully built, it will become easier to understand and make more sense.
Open the C:XPCD folder, and in it, next to the I386 folder, create a new folder named $OEM$. Then open this new, empty folder.
Inside of the $OEM$ folder, create four new folders and name them: $1, $$, $DOCS, and $PROGS.
Next, open the $1 folder, and inside it create two new folders and name these: Install and Drivers. Go up one level again to the $OEM$ folder when
you’ve done this.
Now open the $$ folder, and inside it, create one last folder (for now) named System32 (no space between system and 32).
Now, if you were to go back to the root of C:, right click the XPCD folder and select Explore, you should see this in the left pane of the resultant window that opens up:
Those with a working knowledge of the Windows file structure will recognize what’s going on here, but if you don’t, here’s how if works:
During the installation with this CD we’re building, everything in the $OEM$ folder will get copied to your hard drive during the text based portion of the installation. After
the installer copies the system files over, it will continue on with the $OEM$ folder, and its contents.
The contents of the $1 folder will get copied to the root (C:) of the hard drive that Windows goes to.
The $$ folder will become the actual Windows folder, regardless of its name (whether it’s Windows, WINNT, etc…).
Starting to make sense? Knowing this, you can surmise that $DOCS will become the Documents and Settings folder, and $PROGS will become the Program Files folder.
The two folders we’ll be working with most are the Install and Drivers folders. The 3rd party items we’ll be adding will go into these.
Now that the tree is built, we can set about customizing our files with all kinds of fun things.
At this time, take the files from your original Unattended floppy disk (or create a new winnt.sif and Unattend.bat file, as done in Part I),
and put these into the C:XPCDI386 folder. The next sections will require us to edit these files to direct Windows XP during installation to perform certain tasks and find certain files.
“But, didn’t we do this in the winnt.sif file?”
Yes and no. While you did create a user account in the winnt.sif, once we get into adding 3rd party applications later, and create a regedit file to fine tune Windows, these will be run in
the default Administrator account. Meaning that the programs will be installed for the default user (the default Administrator) and thus unavailable to all other users.
Start by opening Notepad… actually, you’ll be using this a lot as we go deeper into this. You might consider putting a shortcut to Notepad on your desktop while you work on the balance of this project.
Simply right click Notepad instead of double-clicking it, and select “Send Shortcut to Desktop…”. Now you’ll have it immediately accessible while you work on these sections.
Anyway..open Notepad, type in the following, and then save this file as cmdlines.txt, and put it into the C:XPCD$OEM$ folder.
As you can guess, this directs Windows to a file named “useraccounts.cmd”. This is the next file we’ll create.
Open Notepad again. Don’t copy verbatim the following, edit it to reflect your information. Then save it as “useraccounts.cmd”, and put it into the C:XPCD$OEM$ folder as well.
A couple of items here bear mentioning:
If your user name is two words (eg; John Doe) and has a space between them, you must enclose the names with quotes, like this:
net user “John Doe” password /add
This file (useraccounts.cmd) creates an Administrator Group entry for the name you enter. In the file, is a line referencing passwords (net accounts /maxpwage:unlimited). This set the password
for this account to never expire. MaxPassWordAge = unlimited.
The last line of this references yet another file, this being REGEDIT /S autologon.reg. We’ll create this file next. But first;
NOTE!!!: You have just created a batch file. If you look at the icon for this, you will see what looks like an application.exe icon, with a little “gear” thingie in the
middle of it. If you need to edit this file (or one like it), ALWAYS right click it and select edit! If you double click this file, it will actually RUN it, not OPEN it.
If you were to double click this file by accident, what will happen is you’ll create an Administrator account with the name and password you entered into it when you saved it. To delete this account,
(if you do double click it), you must be logged in as an Administrator. Go into Control Panel > Users, and delete the account.
If I had a dollar for each time I’ve done this (and the same thing with the regedit files we’ll work with shortly), I’d be typing this up on a dual Opteron system… =P It’s
easy to forget, so don’t worry if you do it.
Next, open Notepad again, and using your information in place of mine, create the following, save it as autologon.reg, and put it into the C:XPCD$OEM$ folder with the
last two files you made.
This file imports the autologon information into the Registry for the account you’ve created above.
To wrap up this bit, we need to make a couple changes to the winnt.sif file you made.
Open the winnt.sif file, and make sure there are only two Administrator related values under the [GuiUnattended] heading:
If there are any lines labeled AutoLogon or AutoLogonCount, delete them.
The text above shows an asterisk for the AdminPassword. Replace this with a real password so that the account isn’t vulnerable to unauthorized access. It should already
have a password from when you made the winnt.sif originally. If it’s a big string of gobble-dee-goo, you encrypted it when you made the winnt.sif file, in which case the second
line above should read “Yes”.
What we’ve done here is to build a second account. This one is different from the one in the winnt.sif file. The one you created in the winnt.sif is the default
Administrator. The one you’ve just created in the three files you made on this page is a separate Admin account. Anything defined in the useraccounts.cmd or in the
autologon.reg files are not effected by what was entered in the winnt.sif file originally.
When we’re done and you’re testing this whole Unattended install out, during the GUI portion of the installation you’ll see a Command Prompt flash on the screen briefly when there’s
about 13 minutes remaining in the Windows install. This blip of the Command Prompt you see is the useraccounts.cmd file loading, creating the account you just defined.
A lot of what we’ve done so far is meticulous, detailed work. Let’s take a brief break from that and have a bit of fun with our project.
If you’ve ever used an OEM (Dell, Gateway, etc..) computer, no doubt you’ve noticed their logo and information on the “System Information” window when you right click
the My Computer icon.
Perhaps you’ve wondered how they did that. Well, its very simple to do and can be easily added to our install here. With the inclusion of a small image file and a small text
file, you can add your own picture and information into the System Properties window.
Let’s start with the text file first. I’ll create a very simple version – you can change the entries to suit. When you’re done, save it as oeminfo.ini and just put
it on your desktop for now.
Next comes the image file. The image you use can be anything you like, but must be sized to 180 x 114 pixels maximum. Smaller than 180 x 114 is OK. Create an image
in these dimensions (180 is width, 114 is height), and save it as a bitmap named oemlogo.bmp. Put this onto your desktop as well. Here’s mine;
Now, these we can test out, using your current installation of Windows, to see how you like the way it looks. Open your C:WINDOWSsystem32 folder, and copy and paste
these two new files into it.
Now, right click My Computer, and you should get something like this (with your info, of course):
Play around with this and edit the two files (in the System32 folder) until you get them the way you like.
When you have them finalized, copy and paste the finished versions over into your C:XPCD$OEM$$$System32 folder. This is what this folder was created for.
With these files saved here, they will be installed automatically during your Unattended installation. The first time you right click My Computer after installing with this disk you’re
building, your info will be already in place.
With this folder, we can tailor the Unattended disk to a specific motherboard, graphics card, or whatever hardware you need drivers for.
Chances are you’ve installed Windows XP onto the system you might be planning this for. If so, you might know from experience what drivers you need to install manually after
Windows XP finishes installing. XP, while having a great driver base, doesn’t have everything.
Here’s where you can add in those drivers and never have to manually do them again. Plus, the drivers you install will likely even be newer than the ones that come on the Windows XP CD.
One happy note; If your motherboard has USB 2.0 built in, and you’ve always had to set that up after downloading and installing SP1a, guess what – it’s already done! With the
Service Pack 1a slipstreamed in, this will get done automatically now. HURRAH!
Windows XP has basic drivers for nVidia and ATi graphics cards. Wouldn’t you like the latest Detonator or Catalyst drivers instead? Need some specific drivers for your motherboard’s chipset? Onboard sound? LAN? Easy as pie.
The real sweet part of this is: Windows XP will choose the correct drivers for the hardware. This means you can theoretically put several sets of drivers onto this
Unattended disk and use it for multiple systems! Got an ATi 9600 Pro in one machine and an nVidia FX card in the other? No sweat. Intel 875P here, and an nForce2 chipset there?
As there’s thousands upon thousands of different hardware components, some with multiple drivers (or at least multiple versions), I can’t possibly cover them all, or even a good percentage of them here. Not every driver will
install correctly this way, so you’ll have to do some research on this to find the correct procedures for your specific components. I’ll outline what I did to set up the drivers for one of my systems here.
Once again, looking here is a great place to start looking for that specific item you need help with.
To get started, open your winnt.sif file in Notepad, as we’ll need to edit it a bit to get the drivers to install properly. There’s a couple lines that need to be added under the [Unattended]
Drivers need to be installed in somewhat of a particular order, and installing the chipset drivers first usually is the best. So, we’ll number the different types of drivers, and put them into an order, like this:
These are the drivers I needed when I set up my Abit NF7-S system. Yours may/will vary. Change them to reflect what you need to install for your system.
The lines you need to add to the winnt.sif file are as follows:
OemPnPDriversPath=”Drivers 00_Chipset;Drivers 01_LAN;Drivers 02_AGP;Drivers 04_MemCtl;Drivers 05_IDE;Drivers 06_Sound;Drivers 07_SMBus”
The DriverSigningPolicy=Ignore line is used in the event any drivers added are not WHQL certified, and will try to force Setup to use any ones that you have included that aren’t. This
isn’t 100% foolproof, so try to use WHQL certified drivers if at all possible!
Now, open the C:XPCD$OEM$$1Drivers folder, and inside it, create matching folders for each entry you need. For the list above, I would need six individual folders
(#3 was not used). Name them 000_Chipset, etc…
Next, you need to extract (or copy) the drivers for each into the respective folder.
Once you’ve gotten everything extracted, and the lines added into the winnt.sif file to direct the install to the folders, you’re finished. The winnt.sif file directs to the
folder, not the .inf files inside them.
Again, not all drivers set up the same way, so if you can’t quite figure one (or more) out, check the Forums at MSFN.org that I’ve linked to a few times now. Chances are that someone else
has inquired on the same drivers there, and you’ll be able to find a solution.
If you use a RAID or SATA setup, you’ll want to check out the info on this webpage here, for information
on incorporating the necessary drivers into your Unattended Install disk.
NOTE!!!!!; This portion of this project is the most hazardous. What we’re doing next is to build a file that will edit the registry, making changes that
you might normally do after a regular installation.
This section is very optional. If you’d prefer to skip it, by all means do so.
Before attempting this, you might (nay, should) research this fully and thoroughly. Any mistakes made while editing the Registry can cause serious problems if done incorrectly. Even a slight
typing error can cause Windows to fail to run. Hacking the Registry isn’t for the novice.
That said, those who wish to continue on with this will find amazing things can be done with a simple text file.
When I used to install WinXP Pro before making my first Unattended CD with a regedit file, I would have to go in and manually configure a great number of things to my liking. A few of the items I’d
change would be as follows (your tastes will no doubt differ, but you might find a few you recognize);
- Get rid of the “Bliss” wallpaper
- Turn off/get rid of the default screensaver(s)
- Turn on the “Quick Launch” in the taskbar
- Change to small icons on the Start Menu
- Put My Computer, and Network Places on the desktop
- Put the Control Panel into the Start Menu
- Put Administrative Tools into the Start Menu
- Turn off Taskbar “Glomming” (see below)
- Turn off Personalized Menus
- Turn off “Highlight Newly Installed Programs”
- Show Hidden Files and Folders
Taskbar “glomming” is where you might have multiple windows open, and they are shown as one item in the taskbar, but with a number. Let’s say this is on (enabled), and you open four different
webpages with Internet Explorer. The tab in the taskbar might say “Internet Explorer 4”, rather than showing each separately. I prefer them separate, thank you very much. You might like them
sorted this way, and if so, you wouldn’t want to disable it.
These I’ve listed barely scratch the surface of the routine I’d have to go through every time I reinstalled Windows XP.
With the inclusion of a regedit file, we can automate all of this and have it done right from the moment we first log on after our Unattended install.
Do NOT use these if you do not know what they do. Please.
I strongly recommend reading more on this at www.unattended.msfn.org before actually doing it.
Open up Notepad, and create your file. When you are done, save it as regtweaks.reg. From here, you can do two things with it, by where you save the file to.
Option #1: If you save it to C:XPCD$OEM$ folder, it will apply to any and all user accounts created on the machine. If you decide on this, you need to also add one line to your cmdlines.txt
file in the C:XPCD$OEM$ folder:
“REGEDIT /S regtweaks.reg”
Option #2: If you save it to the C:XPCD$OEM$$1install folder, it will apply only to the account you created in this project on Page 3. We will be creating another batch file later on that
can reference the regtweak.reg if you put it here.
Here’s a sample list, of some of the things that can be done:
;Speed up NTFS
;XP and 2k3
;Opens 16-bit apps in a separate memory space, this increases stability when dealing with 16-bit apps.
;XP and 2k3
;This allows boot files to be placed optimally on the hard-drive for faster boots.
;Disable links folder in explorer favorites so it never appears again.
;Don’t Group Similar Taskbar Buttons
;Broadband Tweak for Windows XP
;Remove Alexa Spyware
;Turn on Auto-Complete
;Disable Automatic Restart in the event of a BSOD
;Put My Computer My Network Places and My Documents on the desktop
;Disable Automatic Updates
;Enable AGP card overclocking (NVIDIA CARDS ONLY!)
;Speed up shutdown
;Disable the Desktop Cleanup Wizard
;Disables Error Reporting, but notifies when errors occur
;Disable Welcome Screen and uses Classic Logon
;Speed up Network Browsing by removing Network Scheduled Tasks
;Remove Shortcut Arrows
;Disables Windows Tour bubble popup (HURRAH!!!)
;Disable Imapi CD-Burning Service
;Disable Messenger Service (to stop spam. Does not affect MSN or Windows Messenger)
;Disable Remote Registry Service
;This will add “Services” to the right-click menu of “My Computer”
@=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73, 00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,63,00,2e,00,65,00,78,00, 65,00,20,00,2f,00,73,00,20,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52, 00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00, 32,00,5c,00,73,00,65,00,72,00,76,00,69,00,63,00,65,00,73,00,2e,00,6d,00,73, 00,63,00,20,00,2f,00,73,00,00,00
;This adds the “Open Command Window Here” on the right click menu for folders
@=”Open Command Window Here”
@=”cmd.exe /k “cd %L””
@=”Open Command Window Here”
@=”cmd.exe /k “cd %L””
;Classic search, full path in title bar and address bar.
“Use Search Asst”=”no”
;Force Classic Control Panel
;Allow renaming of Recycle Bin (hehehehe)
;NoLowDiskSpaceChecks won’t check if you are low on diskspace and pop up a balloon telling you.
;Adds search keywords to Internet Explorer
[HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSearchUrlFM]Windows Registry Editor Version 5.00
“Use Search Asst”=”no”
; Disables Hide Inactive Icons
; Show Small Icons on Start Menu
; Hide My Music
; Hide My Pictures
; Disable higlighting of new applications in start menu
; Show Admin Tools in the start menu and program files
; Turn off Personalized menus
; Enable NumLock on startup
; use AutoComplete
; Set Fullscreen
; Enables the Quick Launch bar (Only works during setup)
;Prevents Internet Explorer windows from being reused
;Max your Internet Explorer’s simultaneous downloads to 10 (default was 2)
;Sorts My Computer Above My Documents
;Disables Preview of Movie file formats (allowing you to move/rename/delete without errors)
Once we’ve gotten the core Windows XP files squared away, and any drivers and registry tweaks set up, we’ll have a good idea of how much room we have left on our disk for
3rd party applications.
After adding in the drivers, I still had in excess of 300MB of room on my Unattended Install CDR. Plenty of room to add a few extra items.
What we’ll want to try to do is to get these files to install automatically, without our intervention. What I mean by this is, when you install, oh, say, Photoshop 7.
During a regular install, you’ll be prompted for answers to questions of where you want the files installed to, what your key is, and other things.
What we’ll do is to create another batch file, to automatically launch these installations, and then other files tied directly to some of the applications to answer those
specific questions that you’d have to answer during the setup of those applications.
While I could get most of mine to run unattended, there were a few programs I just couldn’t find the correct switches for. These switches are the entries in the
batch file we’ll make, that allows the program to install without our help.
The general formula for these switches is as follows:
start /wait %systemdrive%installMy_applicationsetup.exe /switch /2nd_switch
(That’s all one line, no space after the %)
How they work is; Start will launch the application’s Setup file. Wait will pause the batch file we’ll build, so that the application has time to install.
%systemdrive%installMy_applicationsetup.exe is where the setup file is located. When everything gets copied over to the hard drive during the Text based portion of Windows
Setup, these files will be located in the Install folder (C:XPCD$OEM$$1Install) we created earlier. The %systemdrive% variable directs the install to this folder.
/switch /2nd_switch instructs the installation to perform the installation using a pair of specific parameters, usually ones that allow for the package to install
silently (unattended). We’ll see as we go along, different applications use different switches to do this, even to perform the same functions.
Create a new folder in the C:XPCD$OEM$$1Install folder, and name it Applications. Then, decide on what applications you might like to add to your Unattended installation
disk, and create a new folder for each, and copy the 3rd Party application files into it’s own folder. Name each folder to reflect what the program contained within it is.
Keep right clicking the entire C:XPCD folder periodically as you do this, click Properties, and keep track of how big the folder is. When you reach 675MB or so (for a CDR(W) based
disk, you’re getting close to full.
Next, you need to create a batch file. We’ll edit this as we go along and add things to our install. Name it start.cmd, and put it into the Install folder.
Here’s mine, and we’ll dissect it after below;
TITLE Windows XP SP1a – Semi-Unattended Installation
ECHO Over the next few minutes you will see automated installations
ECHO of various software applications, windows updates, and registry
ECHO tweaks being implemented. The computer will restart automatically
ECHO once the whole process has finished!
ECHO Removing Wallpapers and Screensavers…
ECHO Applying Registry Tweaks…
REGEDIT /S %systemdrive%installRegTweaks.reg
ECHO Starting installation of Applications
ECHO Installing Windows Media Player 9
ECHO Please wait…
start /wait %systemdrive%InstallWMP9MPSetupXP.exe /Q:A /R:N
ECHO Installing Windows Media Encoder 9
ECHO Please wait…
start /wait %systemdrive%InstallWMP9WMencoder.exe /Q:A /R:N
ECHO Installing DirectX 9.0b
ECHO Please wait…
start /wait %systemdrive%InstallDirectX9DX9NTopk.exe
ECHO Installing Lavasoft Ad-Aware 6 Build 181
ECHO Please wait…
start /wait %systemdrive%InstallApplicationsAdAwareaaw6181.exe /s
ECHO Installing Adobe Photoshop 7
ECHO Please wait…
start /wait %systemdrive%InstallApplicationsPhotoshopsetup.exe /-S
ECHO Registering Homesite 5…
REGEDIT /S %systemdrive%InstallApplicationsHomesite_5register.reg /f
ECHO Installing Macromedia Homesite 5
ECHO Please wait…
start /wait %systemdrive%InstallApplicationsHomesite_5setup.exe /-S
ECHO Installing Alcohol 120%
ECHO Please wait…
start /wait %systemdrive%InstallApplicationsAlcohol_120setup.exe /qn Reboot=Suppress
ECHO Registering Alcohol 120%…
REGEDIT /S %systemdrive%InstallApplicationsAlcohol_120register.reg /f
ECHO Installing Win Ace 22
ECHO Please wait…
start /wait %systemdrive%InstallApplicationsWinAce22wace22.exe
ECHO Installing Motherboard Monitor 126.96.36.199
ECHO Please wait…
start /wait %systemdrive%InstallApplicationsMBM5MBM5351.exe
ECHO Installing Web Temp 3
ECHO Please wait…
start /wait %systemdrive%InstallApplicationsWebTempSetupWebTemp301.exe
ECHO Registering Nero Burning ROM v188.8.131.52…
REGEDIT /S %systemdrive%InstallApplicationsNeroregister.reg /f
ECHO Installing Nero Burning ROM v184.108.40.206
ECHO Please wait…
start /wait %systemdrive%installApplicationsNeroSetup.exe /S
ECHO Installing WinRAR v330
ECHO Please wait…
start /wait %systemdrive%installApplicationsWinrarwrar330.exe /S
ECHO Restarting the PC in 1 minute…
shutdown.exe -r -f -t 60 -c “Windows XP will now restart in 1 minute, this will give enough time for the shortcuts to update and for the shell to fully load before its ready to restart!”
ECHO Deleting Temp Installation Files…
RD /S /Q %systemdrive%Drivers
RD /S /Q %systemdrive%install
In batch files (and DOS, naturally), CLS is the command used to clear the screen of text. When this file launches, it will open a Command Prompt window and execute the commands
contained within the file from it.
ECHO. merely inserts a blank line, while ECHO (without a period) prints the line of text to the screen.
The switches used for each program vary, not only from program to program, but often version to version of the same application. The switches I used for Nero 5.5 will not work for
Nero 6 (if memory serves correctly). I recall hunting for days for this particular version, as all I could find in my searching was the switches for Nero 6.
The switches shown above are correct for the versions of the programs specifically mentioned in the text. Some may apply to older/newer revisions of the same software.
The point I’m trying to hammer home here is, “close to” isn’t always going to work here. Research your versions, and specific applications you may wnat to add (as your list of goodies
will likely differ from mine). You might want to ad some form of Pop-Up blocker software that I didn’t… I can’t help you with that. I can direct you to a good place to look though.
You might notice at the top six lines that refer to deleting the screensavers and wallpaper that comes in Win XP. Don’t include these lines if you want them installed.
Just below that, is my entry for my Registry tweaks script. Refer back to Page 5 on this; Adding these lines here makes your registry changes only applicable to the account you’ve created
in this project (on Page 3). I did it this was as I’m the only person using my PC. Do it this way if this situation applies, or you only want these changes to effect your account.
What I’ve done after that, is to install a trio of Microsoft updates. These I put into the Install folder. I then created a fourth folder beside these, and named it Applications.
Into this folder is where I placed all of the remaining 3rd Party applications I added to my Unattended installation disk.
You can put them all straight into the Install folder if you like. Just note if you copy directly the text above, you’ll possibly need to change the format of things if your
locations differ. Note the locations of Microsoft DirectX 9.0b files versus the AdAware files. Ensure your files are correctly located as you build this batch file.
While we’re discussing DirectX 9.0b, you’ll need a slightly different version of it than you might have, for it to install Unattended. You can download the correct version of the file
Extract it with WinRar, and put the file you extract into it’s own seperate folder in the C:XPCD$OEM$$1Install folder. This version needs no special switches to install silently.
Refer to my file above for the correct way to get it to work.
Adobe Photoshop 7 is a bit different in how your personal settings get put in place. In the folder you copy the files over into, there will be a file named Abcpy.ini.
Open this file with Notepad. You will then need to edit the “OEM Installation Options” section.
The lines you need to edit are as follows;
;Adobe Installer External Configuration File: Abcpy.ini
;The (Product) key is a required key
Product=Adobe Photoshop 7.0
;OEM Installation Options
For a silent installation of this to work, set all of the Display options to NO, and enter your UserName, UserCompanyName, and Serial Number.
Note that when you enter your serial number, to enter it without hyphens (XXXXXXXXXXXXXXXXXXXXXXXX and not XXXX-XXXX-XXXX-XXXX-XXXX-XXXX).
For Alcohol 120% to silently install and not prompt you for a serial number after installation (when you first run the program), you need to add in a short
Registry Edit file (another .reg file made in Notepad) inside the Alcohol 120% folder, and direct the install to it as shown above.
The file is very simple, and merely installs the User name, Company name, and serial number into two places in the Registry. Name it register.reg (as shown above).
Here’s how it should be written:
[HKEY_CURRENT_USERSOFTWAREAlcohol SoftAlcohol 120%Info]
[HKEY_LOCAL_MACHINESOFTWAREAlcohol SoftAlcohol 120%Info]
Naturally, change the UserName and Company name in the examples above to your own information… 😉
Note; Not all of the items in my start.cmd file will result in a silent install (Motherboard Monitor 5 for example). These will pause for your input
during the running of the start.cmd file. I could live with this, but makes for a “Semi-Unattended” install. I find it easier to spend a moment filling in the blanks
during the whole Windows installation, than hunting for the CD I have the program saved to. It just saves a bit of time, and disk swapping afterwards.
For more info on your specific applications (if they’re not shown here (likely)), there is an excellent topic in the MSFN.org forums specifically devoted to Unattended
Install application Switches. It can be found here.
Once your happy with your applications, you’ll need to add these lines (or edit them to match) into your winnt.sif file, to direct the install to the start.cmd file you’ve just created.
Open winnt.sif with Notepad, and add this line:
This will tie everything together with what you’ve already done on the preceding pages of this article.
OemPreinstall=Yes lets Windows know there is a folder named $OEM$ present on the CD, and to copy it over onto the destination hard drive that XP is being installed onto.
UnattendSwitch=”yes” tells Setup to bypass the Welcome screens, where you would normally set up your user account(s) and internet settings.
When we reduced our file size on Page 3, I mentioned there was one more “space saving” tip, for after adding your 3rd Party apps. Doing this might just be the ticket to fitting that one
last small application in, if you’re stretching the limits of room.
Run a search on your $OEM$ folders (from Windows Explorer) for any copies of instmsia.exe and instmsiw.exe files. Delete any copies of these files you find as Windows
XP has an up-to-date version of Windows Installer 2.0. This might gain that extra 1 or 2 MB you need for that last little app.
Once you’ve finalized your additions and tweaked your tweaks to how you want them, it’s time to make your disk.
Any mistakes can be found quickly and easily this way, without burning a bunch of coasters.
Longer, and much slower, but also an option (what I did), would be to test your files by burning them onto rewritable media, and use an old, spare
small hard drive to test install onto. Using rewritable media will allow you to reclaim any flawed disks later on by erasing them.
To burn your disk and make it bootable, you will need a pair of things. First, is an application for burning bootable CDR(W) (or DVDs, if applicable). Although Windows XP comes
with burning software built in, it’s not capable of burning a bootable disk. A 3rd Party application such as Nero or Roxio will be needed.
You’ll also need a copy of ISO buster. This (a free download), is needed to extract a boot loader image file for the CD we’ll make.
We’ll do this first. Download ISO Buster. It’s a 2 MB .zip file. Extract the .exe file in it using WinRar (that we used earlier) and run the install program (double click the
.exe file). Install it using the defaults and choose your preference of a desktop shortcut or Quick Launch icon.
Next, put your Windows XP CD into your optical drive and click “Exit” when the “Welcome” screen comes up.
Run ISO buster. In the window that opens, click Bootable CD in the left pane. Next, right or double click Microsoft Computing.img in the right pane. Finally, select
Extract Microsoft Corporation.img and extract the file to C:XPCD. That’s it. Close ISO buster and remove your Windows XP CD.
After all of the preparation, checking, double checking, researching your apps, switches, batch files, triple checking (at least!) that you haven’t exceeded the capacity of
the blank media you’ll burn this to, and testing it, we’re ready to burn our Unattended disk.
Nero has become the most popular CD/DVD burning suites available, and I will outline the “How To:” of burning our disk in that. Other programs will be similar
to how this is done in Nero. Roxio, about as popular, differs slightly between their own versions 5 and 6. I’ll link to those instructions the end of the procedure.
Launch Nero, and if the “Wizard” is set to run, close it, so that the main Nero application only is running.
Click File, and then New… from the menu bar at the top left. The New Compilation window opens. Scroll down on the left pane, and select CD-ROM (boot)
(or DVD-ROM (boot), if applicable. Both procedures are the same afterwards).
The following must be done exactly!
On the Boot tab, select the button for Image file. Browse to the image file we just made at C:XPCDMicrosoft Corporation.img. Once you get to C:XPCD,
you’ll need to select All Files (*.*) in the Files of type. Select the image file, and then click Open.
Next, select the Enable Expert Settings button. Below it, in the Kind of emulation drop down, select No Emulation. Below that, change the 1 in Number of
loaded sectors to a 4. This step is extremely important, as missing this will result in the disk not being bootable!!
When set, your “Boot” page should look like this:
Next, move to the ISO tab at the top, and set everything to match the picture below!!
NOTE!!: On the ISO page, it’s extremely important to make sure the Do Not Add the ‘;1’ ISO File Version Extension checkbox is selected (as shown), or your CD
will not boot!! If you’re using an older version of Nero that does not have this checkbox, you will need to upgrade to a newer version before continuing, or you will do nothing but
burn coaster after coaster.
Label is somewhat optional, but I usually go in and name my CD. Call it “Unattended XP” on the Volume Label line, or whatever you like.
Dates is optional too, and I usually go in that page and select “Use current Date and Time” at the bottom.
Ensure both boxes are checked on the Misc tab.
On the Burn tab, make sure the speed set is equal to your burner, or media you’re using, or lower. Select the “Write” checkbox, and then click the New button in
the upper right. This will open the File Browser window (as seen below).
This window consists of four panes. In the third (from the left), navigate to the C:XPCD folder and click it. In the fourth (furthest to the right) pane, the contents of
the C:XPCD folder will appear.
Simply drag and drop the entire contents of the fourth pane in one fell swoop into the first (leftmost) pane;
Finally, in the row of 16 icons just above the four panes, select the Burn icon (9th from the left).
Your CD (or DVD) will now be burned. When it finishes, close all open Nero windows.
Congrats! If you’ve done everything correctly, you’ve created you own custom Windows XP SP1a Unattended Install disk!
If you use Roxio (versions 5 or 6), check these pages out at The Elder Geek.com for detailed instructions on using Roxio
to create your Unattended disk:
Also, I’d like to thank all those who’ve taken the time to post in the www.board.msfn.org Forums, sharing their tips, tricks, switches and more, for everyone’s benefit.