Windows auto-installing: background and introduction

Note: the below was written and left in a draft state nearly six months ago. It’s probably a better idea to delete it and write something from scratch. Instead, I’m just going to post it. It’s a little background on my prior windows automated installation experience. Also this entirely about XP/2003.


This project is indirectly related to both learning PowerShell and the arcade cab project. Eventually the pages will be linked and connected together in a much more obvious way (still working on content right now).

Around 2008 I found this really fantastic site – not sure if it’s still there – demonstrating how to auto-install Windows XP. And I did indeed get pretty advanced. In fact at one point I had this elaborate system with Windows XP MCE that would install the OS with SP2 then install SP3 since SP3 could not be integrated into MCE for some reason.

Once I had my elaborate XP auto-install system worked out I naturally moved on to integrating everything that would normally come after the OS like drivers and windows updates. I even found a CLI program that changed the host name for me which it did at a particular stage of the installation before a required installation reboot.

My eventual goal was to create a program of some kind that that would allow me to check off the programs I wanted to install and would then copy the installers of those programs over along with a small database made of an XML file or whatever keep track of CLI unattended installs. Then a program during install would read that configuration file and know which applications to install (sort of like a package manager). Or something like that. I was learning a lot and having a blast.

Well I never made the GUI program with the XML config file. I did get pretty far on that though. Even had a batch file that would gather environment variables during install, store them in a text file then read that text file back after the reboot creating all the environment variables I needed.

I could go into even more detail. Like using Windows Server 2003 as a “workstation” – that didn’t last long – creating OEM-friendly installer discs using the i386 folder some OEMs leave on the C: drive. I don’t think I have seen that OEM i386 trick documented literally anyplace. It probably is. I just never saw it. But that is kind of outside the scope of what this post is really about.

I should mention I tested this all through creating custom XP ISOs and using virtual machines through VirtualBox. That’s like a whole other thing.

I mention this because XP isn’t really useful any more and despite several false starts I never learned the equivalent skills with Windows 7 and later.

I would therefore like to start learning how to create unattended installs of both Windows 7 and Windows 10. And probably Hyper-V server of some version or another (as I write this I’m impatiently waiting for the ISO release of Hyper-V Server 2019).

The thing that really pushed me over the top on wanting to do this finally was that arcade cab project: having still not decided what PC device I wanted to use as the base of it I kept buying new devices, most of them really low end/really cheap Atom-based devices with non-upgradable storage and RAM.

The problem though is the storage is only 32 gigabytes, which should be enough for Windows 10. The problem is these device come with Windows 10 Home, which auto-upgrades to the latest build every 6 months or so like it or not with no recourse or delays.

I also would want to squeeze every drop of performance out this low end hardware so I would want to disable services and optimize performance from the word go.

Which wouldn’t be an issue except I wanted to put some steam games on this cab and Steam is going to want to connect to the internet at some point. And once that new edition of Windows starts downloading it’s just going to saturate both the download bandwidth and the storage device write bandwidth until it’s down. The hilarious thing is sometimes it finally finishes downloading then it pops up a notice it can’t install because there isn’t enough storage or for some other reason. Not before taking hours to download and prepare to install the new build of windows 10. Afterwards. And this notification isn’t accompanied by “would you like to delete the install files?” either. It just stays there forever taking up storage space.

The other issue is that these cheap Chinese devices seem to have proprietary device drivers for minor things like the WiFi card. Ya. The only network device can’t be re-installed if you re-install windows. That’s not important, right? Using a network? Easiest way to get files and other drivers on to a device besides sneaker net? It’s a minor thing.

So I may have to buy an MSDN subscription (I’ve done this before) hoping it comes with a lot of Windows 10 Pro keys. I would hope for 10 Enterprise as well but I’m not holding my breath (as far as I can tell it does actually).

The only thing I have really done with this so far is create a set a applications I would want to include on my Windows installs. Well some but not all. My idea was create a file system on my 256gig thumb drive and then bring that with me so I could work on it at multiple locations. I haven’t started working on it yet but I’ve tried to maintain my file system. I use robocopy to synchronize my file system from the thumb drive to the various different PCs I use.

One thing I need to add to that is a list of various runtimes that games require so the games don’t have to download/install anything. That’s the theory anyway.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s