Thanks ilko_t and cdob for helping me out. Oops, this is not a problem. I had been resetting the vm between text and gui setup. There is a 'WIN51IP.SP3' file in the root if that is what you mean. Yes, I did RAM load this way by linking the usb drive as a virtual drive. Between the text and gui setup I could not change the boot order of physical drives without resetting the vm, so I tried adding this to menu.lst: title find and load NTLDR of Windows NT/2K/XP find --set-root --ignore-floppies /ntldr chainloader /ntldr This does not work ("File not found" in VirtualBox, instantaneous reset in Qemu). However, this entry does work if booted from a mounted ISO (I'm puzzled as to why) instead of a linked usb drive. This was the method I used to create a successful install. Is this how you tested it in a vm or did you use a different method? I tried this as you said and the install works perfectly. What can I do to slipstream IE7 without generating missing file errors in text setup? Can you help me understand why these errors exist with the RAM loaded version and not when mounted as a CD? I've attached txtsetup.sif from my IE7 slipstreamed source. Here is my menu.lst (it's just the same as in cdob's first post): title Loading XP RAM install - /Inst/XP_RAM.ISO ls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISO map --mem /Inst/XP_INST.IMA (fd0) #(fd1) optional, required at some BIOS #map --mem /Inst/XP_INST.IMA (fd1) map --mem /Inst/XP_RAM.ISO (0xFF) map (hd0) (hd1) map (hd1) (hd0) map --hook chainloader (0xFF)/I386/SETUPLDR.BIN TXTSETUP.7z