I've been spending a lot of what should be my free time lately writing applications and designing a system to automate Windows XP Pro desktop system configurations for work. The system starts running on a USB flash drive that is running a generic OS image compiled using Windows XP Embedded. It uses no system specific drivers, just standard NT interface drivers. It works on every piece of hardware that supports USB-HDD. It boots up to a command prompt that is also the entire user interface. Deliberately there is no GUI. The entire OS image compared to XP Pro is fairly small, less than 230 megabytes even with a dotNet 2.0 runtime package. There is no Explorer shell. The security and local-user package has not been added to the system.
No user logon is necessary. Yet remarkably its also relatively secure. No remote connections to it can be made. No networking services outside of Workstation, meaning it has no server functions. The NIC driver is installed using an executable program, no Plug-n-Play install. Video is simply the text mode equivalent of the 1024x768 Safe mode generic driver. It has no printer functions, no web browser, no ActiveX support and no NetBios browsing. The IE6 hooks for http and other TCP/IP protocols is disabled. Even at the command prompt the User has no usable access to the networking dlls or executables.
The Win XPE system image on the USB drive boots up and connects to a network connected server to pull images of the operating system down to the system the USB flash drive is plugged into. Before the OS image is copied, the USB flash drive runs a number of routines set to partition, format and run chkdsk /f on the newly NTFS formatted partitions on the installed hard drive. So it does a complete “bare metal” hard drive installation for systems used in our rental fleet of computers. The installed image is based on a volume licensed XP Pro image that essentially replaces a licensed OEM image. It requires a little more bookeeping and costs a little more but the advantage to our company is a consistent XP Pro system image installation. Application software is installed in a second downloaded package that runs as a Windows installation package.
The configuration application using VB.Net is a single form Windows application (not a console application!) with the user interaction limited to checking 6 radio buttons in 6 different group-boxes and a single 5 digit serial number textbox and a few command buttons. Add a little bit of input validation and exception handling code and you're done. Nothing earthshaking. What astonished me was that it started and ran error-free on the command prompt based XPE image using a MSDOS batch file! Its like running a 32 bit DOS machine.
What I discovered is that this form of Windows XP Embedded runs quite well. Even with its generic NT style drivers, its extremely fast when compared to the full-tilt GUI version of Windows XP Pro SP2. It can be shut off like a DOS system, in other words by flipping off the power switch, no shutdown ritual! It loads and starts up from a USB flash drive in 30 seconds. If you see a cmd (like a MSDOS) prompt, you just hit the power switch to “shutdown” the computer. Nice. The OS image on the drive stays pristine unless you save a file to the USB drive. Why can't Microsoft deliver a GUI assisted system like that? Its as close to a bash Linux install you can get from the Red(mond) Gorilla unless you want to resurrect your set of 5.25” disks of MSDOS 6.22.