I recently acquired a hand-me-down laptop at work. Since I only have desktops, I was eager to add this to my box of toys. The only problem is that the drive was completely clean and the disc drive was not functional. I tried a network boot to install an OS image, but the OS image for Vista didn't include the network drivers for this laptop so it wouldn't proceed. Also, it's a pretty old laptop so I wanted XP anyway.
The easy answer to this is that I should go find a USB thumb drive, load a bootable ISO of XP, and boot to that. Or I could call the help desk and get a new CD drive. Or I could call the help desk and ask them to do the whole thing for me. But what fun is that? It's a challenge!
Luckily I did have an external USB hard drive with some free space on it. I copied all the XP setup files onto that hard drive. Then I did a network boot to WinPE. I copied the XP setup files to the laptop hard drive. At that point I thought I was home free. I ran setup.exe but it wouldn't let me install Windows. The option was grayed out. Luckily Liam came through with the solution. Instead of running setup.exe, go into the i386 folder and run winnt32.exe.
Setup.exe only works if you are in Windows. I remember trying to run this many times in the past from a DOS prompt when I was rebuilding computer sand getting the "this program must be run from Windows." All I really needed to do is go into the i386 folder and run winnt.exe or winnt32.exe depending on the environment. I'm happy and depressed at the same time.
[UPDATE] One more "gotcha" I should mention is that I was doing this from WinPE 2.0. When I rebooted after the XP installation, it said "A disk read error occurred." That's because WinPE 2.0 and Vista create partitions a bit differently. It's all covered in KB931760.