Now this new method is the most clever method yet! And this new method could probably be modified to work on CD/DVDs too.
This small tutorial is based on the latest WinSetupFromUSB GUI.
I used Windows XP Professional OEM as my base OS. I opened WinsetupUSB Gui v1 Beta1 found in this thread:
Once you create your first os you will need to modify a few things...
1. create a folder inside "WIN_SETUP\XP_PRO_SP3\I386" called "CONV".
Inside "CONV" you will create 3 more folders "VLK", "OEN", and "RTL".
Copy these files from your Windows XP Pro OEM disk and place them in the "CONV\OEN" directory (Some of the files may be compressed with _ at the end... you can keep them compressed):
svcpack.inf (Only needed if you have different apps integrated through svcpack)
Follow this same process for the VLK folder and the RTL folder.
2. Now go to your "WIN_SETUP" folder on the root of your USB stick and extract the "XP_PRO_SP3.ISO" to a new folder "XP_PRO_SP3_FULL"
Inside the new "XP_PRO_SP3_FULL" folder go into the I386 directory. Rename the txtsetup.sif file to txtsetup.vlk. Inside the txtsetup.vlk file add this line to the [SourceDisksNames.x86] section:
777 = %cdname%,%cdtagfilei%,,\i386\CONV\VLK
Also seaarch the txtsetup file for all instances of the above files you placed in the VLK directory and change the first number set to 777
For example Change:
dpcdll.dll = 100,,,,,,,2,0,0
dpcdll.dll = 777,,,,,,,2,0,0
Now copy this txtsetup.vlk file and name it txtsetup.oen and modify the line you just created:
777 = %cdname%,%cdtagfilei%,,\i386\CONV\VLK
777 = %cdname%,%cdtagfilei%,,\i386\CONV\OEN
And copy it again name the file txtsetup.rtl then change that same line to:
777 = %cdname%,%cdtagfilei%,,\i386\CONV\RTL
3. Go back inside your WIN_SETUP\XP_PRO_SP3_FULL\I386 folder
Copy the setupldr.bin file and duplicaate it 2 more times. Naming all three of them like this:
Open each one in a hex editer. Replace all instances of "winnt.sif" with "winnt.vlk" for the VLK and do the same for OEN and RTL.
***NOTE*** You only need to replace the lowercase instances of "winnt.sif"!
Change every lowercase instance of "txtsetup.sif" to "txtsetup.vlk" in each setupldr file according to the vlk, oen, rtl extension of the setupldr file.
4. If you had any winnt.sif files for each of the OSes you should rename them (winnt.vlk, winnt.oen, winnt.rtl) and place them in the XP_PRO_SP3\I386 Directory on the USB Stick.
5. Now compile your XP_PRO_SP3_FULL folder into an ISO in the same layout as the old XP_PRO_SP3.ISO file.
Your new ISO should have this in it:
Directory of G:\WIN_SETUP\XP_Pro_SP3_FULL 12/11/2009 10:18 PM <DIR> . 12/11/2009 10:18 PM <DIR> .. 12/11/2009 10:18 PM <DIR> I386 0 File(s) 0 bytes Directory of G:\WIN_SETUP\XP_Pro_SP3_FULL\I386 12/11/2009 10:18 PM <DIR> . 12/11/2009 10:18 PM <DIR> .. 04/13/2008 10:13 PM 47,564 NTDETECT.COM 12/10/2009 09:43 PM 260,288 SETUPLDR.OEN 12/10/2009 09:45 PM 260,288 SETUPLDR.RTL 12/10/2009 09:39 PM 260,288 SETUPLDR.VLK 12/10/2009 09:44 PM 461,432 TXTSETUP.OEN 12/10/2009 09:45 PM 461,432 TXTSETUP.RTL 12/10/2009 09:41 PM 461,432 TXTSETUP.VLK 7 File(s) 2,212,724 bytes Total Files Listed: 7 File(s) 2,212,724 bytes 5 Dir(s) 1,746,513,920 bytes free
6. Now you will need to modify your winsetup.lst
color black/cyan yellow/cyan timeout 10 default /windefault title Back to Main Menu configfile /menu.lst title Second part of 2000/XP/2003 setup / Boot first internal hard disk savedefault map (hd0) (hd1) map (hd1) (hd0) map --hook rootnoverify (hd0) chainloader (hd0)+1 title First part of XP_Pro_SP3 VLK setup find --set-root /WIN_SETUP/XP_Pro_SP3.ISO map --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff) savedefault 1 map (hd0) (hd1) map (hd1) (hd0) map --hook root (0xff) chainloader /I386/SETUPLDR.VLK title First part of XP_Pro_SP3 OEM setup find --set-root /WIN_SETUP/XP_Pro_SP3.ISO map --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff) savedefault 1 map (hd0) (hd1) map (hd1) (hd0) map --hook root (0xff) chainloader /I386/SETUPLDR.OEN title First part of XP_Pro_SP3 RTL setup find --set-root /WIN_SETUP/XP_Pro_SP3.ISO map --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff) savedefault 1 map (hd0) (hd1) map (hd1) (hd0) map --hook root (0xff) chainloader /I386/SETUPLDR.RTL
BTW... for some reason whenever I make my USB stick with WinSetupFromUSB Gui I don't have any information in my menu.lst to launch the winsetup.lst file.
So I add this to the top of my menu.lst file:
color black/cyan yellow/cyan default /default default 0 timeout 10 title Windows XP/2000/2003 Setup root (hd0,0) configfile /winsetup.lst savedefault --wait=2
I think this is everything I did. Hopefully we can add this capability to an upcomming version of WinSetupFromUSB!
A huge thanks to ilko_t!!!
Edited by Siginet, 12 March 2010 - 11:25 AM.