• Content count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About marek722

  • Birthday 11/23/1975

Contact Methods

  • Website URL
  1. Hello world ... just realized, that the thread-tracker is purged when no activity is seen - not good! So here are some good news: finally I found a solution to use the update web pages from microsoft after slipstreaming (better say I managed to convice Office Update to accept my slipstreamed OFF2003SP1 and not to identify it as a administrative version). Looks like approaching the aim and going to build a slipstreamed Office 2003 that will act like the original release version. What's still broken are version numbers in the slipstreamed .msi - actually working on this. Next steps will be: extend the scripts for easier use, include new changes, test a bit, rewrite the guide and give the code to you for more tests. Stay tuned and patient - this project consumes a lot more time than I can afford. @paulvanleemput: Can't test MUI version, but maybe it will work when the integration of other patches after the service packs will work. But this will be interesting after service pack slipstreaming is functional. @polysulfide: This project may proof that you are wrong. For instance LIS is already working after slipstreaming SP1. Don't know if I will succeed but I'm trying @Stellar7: hmm, looks like missing files. Maybe the new scripts will fix this, otherwise more investigations are nessessary. @suicidal_orange: still not tested SP2 cause all seems useless to me, if windows update/office update won't work. @FaceMouth: slipstreaming should not change admin install routines in the .msi, in other words if it worked before it should work after too. But I did not read the whole install routines. next news should include success on updating a slipstreamed SP1 via windows update B)
  2. when next version is ready Havn't slipstreamed SP2 till now but it should work the same way as SP1.
  3. here we are again with few details about sort2cabs.js and the cabs on the original cds and how I understood the whole thing: the cabs On the original cds there are lot of duplicate cabs with same content. This way the products are easy to combine in different packages with more or less cds. Very important are the order of the cabbed files corresponding to the order in the different .msi files. That's the point sort2cabs.js is mostly dealing with. 'the beef stew method' for building an AIO cd only works because it is intended to work. As long as Microsoft is caring about this, sort2cabs.js will work (only very little error checking is included, sorry). sort2cabs.js When applying the patches .msi files get altered. New files are added and checksums corrected and badly some other things change (more investigation needed). Really ugly the whole thing gets because of new files which get already used sequence numbers thus destroying the possibility to compress files. This is what sort2cabs.js is supposed to repair Shortly: sort2cabs collects all information about the files and there install order (sequence numbers). Because not all .msi use all files from the cabs, sort2cabs builds large arrays in memory and sorts the files using the order from all .msi. Some files appear in more than one .msi - those give hints how to sort. After that new sequence numbers are generated and written to the tables (you have to reimport with ORCA). This ordering is also used when generating the new cabs. Sounds easy, ins't it other thoughts I really don't know if the idea of just copying files to harddisk and then patching is intended. Somehow it works and gives better results than making an admin install. After I 'accidentally' found this way I belief it's the right one slipstreaming service packs to the install cd(s). Still some things get altered in the .msi files that prevent online updates and I hope to find them. Optimizing the cd to find duplicate files is not really necessary when running sort2cabs.js on all parts together only once. In the result only setup.exe will be found as a duplicate file (if you rename it when copying files to harddisk). As stated before 5in1 with SP1 is only about 540MB. One aspect is still unclear: in .xml you'll find a product id and source id. I belief those should change on a slipstreamed version to distinguish original from service pack versions - any one who knows more? Ok, gonna track the topic now and give more answers ... and I'm planning to add more routines for easier slipstreaming ... if only the day had more than 24 hours
  4. ok, forgot to set email-notification on this topic ... here now answers to your questions: post #5, Historic: 1) ocw10.msi This one is not included in an admin install. Don't know why and how although I tried many option when making an admin install. The result is not making an admin install but applying the patches with MSI 3.1 to the copied files on your harddisk. A useful side-effect of this is the still working lokal caching (-> msocache). I hoped the updates would still work as well this way - there is still no solution now. 2) "If I perform an admin image first, then copy over the original unaltered .msi's wouldnt the folder structure be different in the target source?" No, the folder structure is generated from the .msi's and so it should work (did I test this case? Sorry, can't remember) 3) "Although I have yet to try this, I would like to ask if this switch might work while doing the first admin image? msiexec.exe /a pro11.msi MSINODISABLEMEDIA=1" This switch is necessary if you want to create a install CD/DVD as far as I understand it. 4) "Along with this can we also enable Office Online Update??" Actually no. But this is a feature I will look for, don't know now where to alter the install. post #6, Historic: 1) "One more note: Some of the cabinets in different products having the same name do not have the same content, therefore 'the beef stew method' of creating AIO (supposedly vol.msdn cd method) is out of the question here." All code was especially written to allow 'the beef stew method'. Later more on this one. post #7, Historic: Just a hint about size: my experiments endeed in a 540MB 5in1sp1-iso (no hotfixes included). post #9, Zxian: 1) "How do you go about clearning out all the files that aren't on the original CD?" This is something for a batch-job saw a solution later in the thread. 2) "Also... do you just take the files that are on each CD and simply copy them over into your working directory, overwriting any existing files?" the working directory is a temporary directory where you copy all CDs overwriting existing files except the setup.ini and .xml files under /FILES/SETUP. If you rename setup.exe to setupxxx.exe and setup.ini to setupxxx.ini (for each product own name) the setups will continue to work. Seems I forgot to mention this because I started with a AIO version. post #18, FaceMouth: "Also, I am not able to make an admin install point with this version, and I think I will have to manually install my key, not sure if it is going to work in the mst file." Strange, tested it and worked fine with 5in1sp1 (no other hotfixes). Looked like the original. Seems that more testing is needed and a new version including a framework for the main routines to make all easier ... post #20, tCP: Thanks for this contribution - didn't test it, maybe i'll include it in a new version later post #24, Zxian: "the original guide made it seem like you could do everything at once..." That's the idea behind all. More explanations in next post. post #25, Zxian: you need enough free space for caching and it is not working with a admin install as starting point. Didn't try the enhanced setup.exe so can't help with this. In setup.ini the following should be included: [Cache] ; The cache section provides settings for caching the install source locally ; Value Default Description ; CDCACHE 2 Option to specify cache level ; [auto, 0, 1, 2] ; LOCALCACHEDRIVE <predefined> Option to specify a drive to cache ; the install source to ; DELETABLECACHE 1 Option to display UI to remove the ; cache at the end of setup [0,1] ; PURGE 0 Option to always remove cache at end of ; setup [0,1] CDCACHE=auto ;LOCALCACHEDRIVE=C:\ DELETABLECACHE=1 PURGE=0 ok, next post with technical details ... this one is long enough
  5. sorry for not answering, gonna take a look at all later. please be patient cause i'm short of time at the moment. i also found a way to ommit ORCA (just using MSI routines in jscript for reading/writing tables) more later.
  6. ok, here the result of my speed test: expanded install: 29:50 normal install: 29:37 tested with wxp sp2 unattended, no other modifications system: - virtual pc on Athlon XP 2800+, 320MB RAM for virtual machine - source on DVD+RW 4x, linear read speed ~5MB/s (starting quite slow with 3x), Toshiba DVD-Rom 1702 when copying files from source there are still some cpu-cycles unused with normal install, that means the impact of this modification on current systems is very little. If you use a slower CPU expanded install could be faster than normal install with same read speed of source. Faster reading of source would improove performance of expanded install only if cpu can't cope with the amount of data to expand while normal install ... The conclusion is only suitable when using UDMA (or nearly no CPU cycles for source reading -> some LAN-adapters can consume lot of CPU ...). Measurement must not be correct because of usage of windows drivers for accessing source while booting setup from CD/DVD - i think this process acts differently on real install. The example with the P200MMX laptop with 10x cd-rom earlier in this thread lacks information about IDE-mode for the cd-rom, but it seams copying is a rather slow process compared to expansion of data in that example ... and it is 'only' a 200MHz CPU ...
  7. shouldn't the reg-keys be written to SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx no idea about the langpack problem, always used a 7zip archive containing all together
  8. @Zxian, mrmark75, Incroyable HULK: look at this thread I started, maybe this one works for you: slipstream Office 2003 SP1 & rebuild CD, no admin install, cache works, 1 AIO CD
  9. After reading a lot about slipstreaming SP1 to Office 2003 still I couln'd find a nice solution. So after many different approaches and reading a lot about MSI here comes another guide on slipstreaming The Goal: build a fully functional Office 2003 SP1, using cache on setup, asking for serial, being only a bit larger than the original without SP1 & allowing for administrative install What do you need: - ORCA - MSI 3.1 installed - WSH 5.6 installed - md5sum.exe ( - makecab.exe (Microsoft Cabinet SDK) - sort2cabs.js (Download (5,5kB)) - Office 2003 CD(s) - appropriate administrative updates - some hard disk space and some time What I did to create a working Office 2003 SP1: 1. Copy the office 2003 to the hard disk (referred from now on as X:\office2003). Remove all hidden and write-only attributes from files. Store all updates on hard disk (*.MSP, directory referred to is called x:\SP1). Make backups of X:\office2003\FILES\SETUP\*.INI 2. Apply Updates (slipstream) using the following Syntax: msiexec /a X:\office2003\PRO11.MSI /p X:\SP1\MAINSP1ff.msp MSINODISABLEMEDIA=1 SHORTFILENAMES=TRUE PIDKEY="xxxxxxxxxxxxxxxxxxxxxxxxx" msiexec /a X:\office2003\OWC11.MSI /p X:\SP1\OWC11SP1ff.msp MSINODISABLEMEDIA=1 SHORTFILENAMES=TRUE PIDKEY="xxxxxxxxxxxxxxxxxxxxxxxxx" msiexec /a X:\office2003\OWC10.MSI /p X:\SP1\OWC102003SP1ff.msp MSINODISABLEMEDIA=1 SHORTFILENAMES=TRUE PIDKEY="xxxxxxxxxxxxxxxxxxxxxxxxx" msiexec /a X:\office2003\FP11.MSI /p X:\SP1\MAINSP1ff.msp MSINODISABLEMEDIA=1 SHORTFILENAMES=TRUE PIDKEY="yyyyyyyyyyyyyyyyyyyyyyyyy" ... (and so on for all your components) if this is not working, try first making an administrative install and then copy the original msi-files over the altered and the apply the patches. This may be no longer necessary since MSI 3.x After the Updates delete any cab files in X:\office2003 3. Create a subdirectory X:\office2003\sort and extract here. Create subdirectories for every msi you installed before (-> X:\office2003\sort\pro11, X:\office2003\sort\owc10, X:\office2003\sort\owc11, ...). The following has to be done with every msi file: - open with ORCA - export tables CabinetDetail, Component, Directory, File, Media to the created corresponding directory 4. Copy XML files located at X:\office2003\FILES\SETUP to X:\office2003\sort. Now edit X:\office2003\sort\tabledirs.lst and X:\office2003\sort\xmlfiles.lst to match your need. tabledirs.lst lists all directories containing the exported tables from the msi packages (existence is checked in sort2cabs.js) and xmlfiles.lst lists all xml to edit (correct md5sums). 5. Open a command line (cmd) and change path to X:\office2003\sort. Start sort2cabs using folling syntax: cscript sort2cabs.js for successful completion md5sum.exe and makecab.exe should be placed in a directory listed in the path variable! ok, time for a cup of coffee 6. When the script stops you have to replace some tables in your msi packages. Use ORCA for this task: - open zzz.msi with ORCA (replace zzz with msi package names) - import tables called *.new.idt from X:\office2003\sort\zzz, replace the old ones, do not merge - save (this is important, too) now the script may continue (this stop is necessary for calculating the md5sums for the xml files) 7. That's nearly all, now copy the xml files from X:\office2003\sort to X:\office2003\FILES\SETUP, restore the backed up ini files in X:\office2003\FILES\SETUP and delete all files that were not originally on the office cd (ok, i wrote a bat file for copying all files to another location, which files are necessary you'll see on your cd ). Burn your new Office 2003 on a CD labeled 'OFFICE11' It may be necessary to edit the msi package of MS Project when building an AIO CD. The table "Media" contains a column "VolumeLabel" which should be "OFFICE11". Make this change after step 1. I know this is not as easy as just pressing a button, but sort2cabs.js is rather generic and may work with other msi packages. If not, try to alter the script Here a short summary what the script does: - read dirlist.lst and test for all necessary files in listed subdirs - read all *.idt and combine information in arrays - sort by media (cab files) and sequence numbers from msi packages - renumber all files/set new sequence numbers to eliminate duplicate numbers (otherwise you cannot use compression) - compress using makecab and ddf files to control process, sorting of files in cabs must be the same as sorting by sequence numbers in msi packages - calculate md5 sums for cabs and other files listed in xml files located in X:\office2003\FILES\SETUP This may help understanding the script. I added some comments, too. Because I tested the whole process only with SP1 (maybe all later patches can be integrated) and not in detail please report problems here.
  10. To know what is faster you need some tests. There are two processes consuming time: 1. transfering data from install source 2. extraction of sources because of nowadays processor speeds I think that the extraction is a very fast process consuming only little time. The data transfer from source depends on the media it is stored. Reading a CD-Rom is not really fast (DVD I think will perform better, LAN ...) and this could lead to slower installation without compression on fast computers (time for data transfer >> time for decompression in this case). Therefor testing in VMWare using an image stored on your hard disc produces not really usable results. But maybe both processes take only a small amount of time compared to others during installation ... just some ideas
  11. it works in w2k, for instance I use this code imported via reg-file [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\zx100] @="Komponenten-Anpassungen" "1"="%SystemRoot%\\System32\\regsvr32.exe /s /u %SystemRoot%\\system32\\regwizc.dll" "2"="%SystemRoot%\\System32\\regsvr32.exe /s %SystemRoot%\\apppatch\\slayerui.dll" "3"="%SystemRoot%\\regedit.exe /s %SystemDrive%\\INSTALL.TMP\\settings.reg" the order is alphabetically (zx100 ... next key I use is zx110 and so on) and "Komponenten-Anpassungen" is then displayed for all actions in key "zx100". If you add a "!" before the value name (example: instead of "1" use "!1") the entry is deleted only if it really executed. Caution: you can't use any system variables like in the example above (%SystemRoot%) because w2k does not accept keys of type "REG_EXPAND_SZ" and only there variables get expanded. In the example I replace the variables with the apropriate paths before importing to the registry. So all values will be of type "REG_SZ" without variables. Don't know if wxp will do better.
  12. you could create a menu driven cd with multiple configurations - one unattended and one standard and maybe another one. Don't know where I got the information from, here is just an idea/example (for german w2k) how to make it. You'll need mkisofs.exe and a hex-editor. 1. build a directory hierarchy like this: -build-root -W2P_SP4_DE -I386 - ... (all cd content goes here) -W2P_SP4_DE.sif -I__U -I386 (including all subdirectories but no files) -I_DU -I386 (including all subdirectories but no files) -I386 2. place a copy of TXTSETUP.SIF and WINNT.SIF in I__U, I_UD, I386 under W2P_SP4_DE.sif and remove them from W2P_SP4_DE\i386 3. modify those files under I__U and I_UD for unattended setups - I used the first directory for an unattended w2k setup and the second had extra drivers included, which did not work on all hardware -> setup just stopped without any comment/freeze/error. I386 contains the unmodified files 4. place a copy of SETUPLDR.BIN in I__U, I_UD 5. use a hex-editor on SETUPLDR.BIN in I__U & I_UD, search for i386 and replace with I__U or I_UD depending on the directory, there should be three occurencies of i386 6. take attached boot sector and extract to build-root 7. place a pathlist.txt in build-root with following content /=W2P_SP4_DE/ /=W2P_SP4_DE.sif/ I__U/I386/=W2P_SP4_DE/I386/ I_UD/I386/=W2P_SP4_DE/I386/ w2k_multi.img=w2k_multi.img I__U/1394BUS.SY_=W2P_SP4_DE/I386/1394BUS.SY_ I__U/ABP480N5.SY_=W2P_SP4_DE/I386/ABP480N5.SY_ I__U/ACPI.SY_=W2P_SP4_DE/I386/ACPI.SY_ I__U/ACPIEC.SY_=W2P_SP4_DE/I386/ACPIEC.SY_ I__U/ADPU160M.SY_=W2P_SP4_DE/I386/ADPU160M.SY_ I__U/AHA154X.SY_=W2P_SP4_DE/I386/AHA154X.SY_ I__U/AIC78U2.SY_=W2P_SP4_DE/I386/AIC78U2.SY_ I__U/AIC78XX.SY_=W2P_SP4_DE/I386/AIC78XX.SY_ I__U/AIC116X.SY_=W2P_SP4_DE/I386/AIC116X.SY_ I__U/AMSINT.SY_=W2P_SP4_DE/I386/AMSINT.SY_ I__U/ASC.SY_=W2P_SP4_DE/I386/ASC.SY_ I__U/ASC3350P.SY_=W2P_SP4_DE/I386/ASC3350P.SY_ I__U/ASC3550.SY_=W2P_SP4_DE/I386/ASC3550.SY_ I__U/ATAPI.SY_=W2P_SP4_DE/I386/ATAPI.SY_ I__U/BIOSINFO.INF=W2P_SP4_DE/I386/BIOSINFO.INF I__U/BOOTVID.DL_=W2P_SP4_DE/I386/BOOTVID.DL_ I__U/BUSLOGIC.SY_=W2P_SP4_DE/I386/BUSLOGIC.SY_ I__U/CD20XRNT.SY_=W2P_SP4_DE/I386/CD20XRNT.SY_ I__U/CDFS.SY_=W2P_SP4_DE/I386/CDFS.SY_ I__U/CDROM.SY_=W2P_SP4_DE/I386/CDROM.SY_ I__U/CLASS2.SY_=W2P_SP4_DE/I386/CLASS2.SY_ I__U/CLASSPNP.SY_=W2P_SP4_DE/I386/CLASSPNP.SY_ I__U/CPQARRAY.SY_=W2P_SP4_DE/I386/CPQARRAY.SY_ I__U/CPQARRY2.SY_=W2P_SP4_DE/I386/CPQARRY2.SY_ I__U/CPQFCALM.SY_=W2P_SP4_DE/I386/CPQFCALM.SY_ I__U/CPQFWS2E.SY_=W2P_SP4_DE/I386/CPQFWS2E.SY_ I__U/C_850.NL_=W2P_SP4_DE/I386/C_850.NL_ I__U/C_1252.NL_=W2P_SP4_DE/I386/C_1252.NL_ I__U/DAC960NT.SY_=W2P_SP4_DE/I386/DAC960NT.SY_ I__U/DISK.SY_=W2P_SP4_DE/I386/DISK.SY_ I__U/DMBOOT.SY_=W2P_SP4_DE/I386/DMBOOT.SY_ I__U/DMIO.SY_=W2P_SP4_DE/I386/DMIO.SY_ I__U/DMLOAD.SY_=W2P_SP4_DE/I386/DMLOAD.SY_ I__U/FASTFAT.SY_=W2P_SP4_DE/I386/FASTFAT.SY_ I__U/FD16_700.SY_=W2P_SP4_DE/I386/FD16_700.SY_ I__U/FDC.SY_=W2P_SP4_DE/I386/FDC.SY_ I__U/FIREPORT.SY_=W2P_SP4_DE/I386/FIREPORT.SY_ I__U/FLASHPNT.SY_=W2P_SP4_DE/I386/FLASHPNT.SY_ I__U/FLPYDISK.SY_=W2P_SP4_DE/I386/FLPYDISK.SY_ I__U/FTDISK.SY_=W2P_SP4_DE/I386/FTDISK.SY_ I__U/HAL.DL_=W2P_SP4_DE/I386/HAL.DL_ I__U/HALAACPI.DL_=W2P_SP4_DE/I386/HALAACPI.DL_ I__U/HALACPI.DL_=W2P_SP4_DE/I386/HALACPI.DL_ I__U/HALAPIC.DL_=W2P_SP4_DE/I386/HALAPIC.DL_ I__U/HIDCLASS.SY_=W2P_SP4_DE/I386/HIDCLASS.SY_ I__U/HIDPARSE.SY_=W2P_SP4_DE/I386/HIDPARSE.SY_ I__U/HIDUSB.SY_=W2P_SP4_DE/I386/HIDUSB.SY_ I__U/I8042PRT.SY_=W2P_SP4_DE/I386/I8042PRT.SY_ I__U/INI910U.SY_=W2P_SP4_DE/I386/INI910U.SY_ I__U/INTELIDE.SY_=W2P_SP4_DE/I386/INTELIDE.SY_ I__U/IPSRAIDN.SY_=W2P_SP4_DE/I386/IPSRAIDN.SY_ I__U/ISAPNP.SY_=W2P_SP4_DE/I386/ISAPNP.SY_ I__U/KBDCLASS.SY_=W2P_SP4_DE/I386/KBDCLASS.SY_ I__U/KBDGR.DLL=W2P_SP4_DE/I386/KBDGR.DLL I__U/KBDHID.SY_=W2P_SP4_DE/I386/KBDHID.SY_ I__U/LBRTFDC.SY_=W2P_SP4_DE/I386/LBRTFDC.SY_ I__U/LP6NDS35.SY_=W2P_SP4_DE/I386/LP6NDS35.SY_ I__U/L_INTL.NL_=W2P_SP4_DE/I386/L_INTL.NL_ I__U/MOUNTMGR.SY_=W2P_SP4_DE/I386/MOUNTMGR.SY_ I__U/MRAID35X.SY_=W2P_SP4_DE/I386/MRAID35X.SY_ I__U/NCRC710.SY_=W2P_SP4_DE/I386/NCRC710.SY_ I__U/NTDETECT.COM=W2P_SP4_DE/I386/NTDETECT.COM I__U/NTFS.SY_=W2P_SP4_DE/I386/NTFS.SY_ I__U/NTKRNLMP.EX_=W2P_SP4_DE/I386/NTKRNLMP.EX_ I__U/OHCI1394.SY_=W2P_SP4_DE/I386/OHCI1394.SY_ I__U/OPENHCI.SY_=W2P_SP4_DE/I386/OPENHCI.SY_ I__U/PARTMGR.SY_=W2P_SP4_DE/I386/PARTMGR.SY_ I__U/PCI.SY_=W2P_SP4_DE/I386/PCI.SY_ I__U/PCIIDE.SY_=W2P_SP4_DE/I386/PCIIDE.SY_ I__U/PCIIDEX.SY_=W2P_SP4_DE/I386/PCIIDEX.SY_ I__U/PCMCIA.SY_=W2P_SP4_DE/I386/PCMCIA.SY_ I__U/QL10WNT.SY_=W2P_SP4_DE/I386/QL10WNT.SY_ I__U/QL1080.SY_=W2P_SP4_DE/I386/QL1080.SY_ I__U/QL1240.SY_=W2P_SP4_DE/I386/QL1240.SY_ I__U/QL2100.SY_=W2P_SP4_DE/I386/QL2100.SY_ I__U/SBP2PORT.SY_=W2P_SP4_DE/I386/SBP2PORT.SY_ I__U/SCSIPORT.SY_=W2P_SP4_DE/I386/SCSIPORT.SY_ I__U/SERENUM.SY_=W2P_SP4_DE/I386/SERENUM.SY_ I__U/SERIAL.SY_=W2P_SP4_DE/I386/SERIAL.SY_ I__U/SETUPDD.SY_=W2P_SP4_DE/I386/SETUPDD.SY_ I__U/SETUPREG.HIV=W2P_SP4_DE/I386/SETUPREG.HIV I__U/SFLOPPY.SY_=W2P_SP4_DE/I386/SFLOPPY.SY_ I__U/SPARROW.SY_=W2P_SP4_DE/I386/SPARROW.SY_ I__U/SPCMDCON.SYS=W2P_SP4_DE/I386/SPCMDCON.SYS I__U/SPDDLANG.SY_=W2P_SP4_DE/I386/SPDDLANG.SY_ I__U/SYMC8XX.SY_=W2P_SP4_DE/I386/SYMC8XX.SY_ I__U/SYMC810.SY_=W2P_SP4_DE/I386/SYMC810.SY_ I__U/SYM_HI.SY_=W2P_SP4_DE/I386/SYM_HI.SY_ I__U/TFFSPORT.SY_=W2P_SP4_DE/I386/TFFSPORT.SY_ I__U/UHCD.SY_=W2P_SP4_DE/I386/UHCD.SY_ I__U/ULTRA66.SY_=W2P_SP4_DE/I386/ULTRA66.SY_ I__U/USBD.SY_=W2P_SP4_DE/I386/USBD.SY_ I__U/USBHUB.SY_=W2P_SP4_DE/I386/USBHUB.SY_ I__U/USBSTOR.SY_=W2P_SP4_DE/I386/USBSTOR.SY_ I__U/VGA.SY_=W2P_SP4_DE/I386/VGA.SY_ I__U/VGA850.FO_=W2P_SP4_DE/I386/VGA850.FO_ I__U/VIDEOPRT.SY_=W2P_SP4_DE/I386/VIDEOPRT.SY_ I__U/WMILIB.SY_=W2P_SP4_DE/I386/WMILIB.SY_ I__U/SYSTEM32/NTDLL.DLL=W2P_SP4_DE/I386/SYSTEM32/NTDLL.DLL I__U/SYSTEM32/SMSS.EXE=W2P_SP4_DE/I386/SYSTEM32/SMSS.EXE I_UD/1394BUS.SY_=W2P_SP4_DE/I386/1394BUS.SY_ I_UD/ABP480N5.SY_=W2P_SP4_DE/I386/ABP480N5.SY_ I_UD/ACPI.SY_=W2P_SP4_DE/I386/ACPI.SY_ I_UD/ACPIEC.SY_=W2P_SP4_DE/I386/ACPIEC.SY_ I_UD/ADPU160M.SY_=W2P_SP4_DE/I386/ADPU160M.SY_ I_UD/AHA154X.SY_=W2P_SP4_DE/I386/AHA154X.SY_ I_UD/AIC78U2.SY_=W2P_SP4_DE/I386/AIC78U2.SY_ I_UD/AIC78XX.SY_=W2P_SP4_DE/I386/AIC78XX.SY_ I_UD/AIC116X.SY_=W2P_SP4_DE/I386/AIC116X.SY_ I_UD/AMSINT.SY_=W2P_SP4_DE/I386/AMSINT.SY_ I_UD/ASC.SY_=W2P_SP4_DE/I386/ASC.SY_ I_UD/ASC3350P.SY_=W2P_SP4_DE/I386/ASC3350P.SY_ I_UD/ASC3550.SY_=W2P_SP4_DE/I386/ASC3550.SY_ I_UD/ATAPI.SY_=W2P_SP4_DE/I386/ATAPI.SY_ I_UD/BIOSINFO.INF=W2P_SP4_DE/I386/BIOSINFO.INF I_UD/BOOTVID.DL_=W2P_SP4_DE/I386/BOOTVID.DL_ I_UD/BUSLOGIC.SY_=W2P_SP4_DE/I386/BUSLOGIC.SY_ I_UD/CD20XRNT.SY_=W2P_SP4_DE/I386/CD20XRNT.SY_ I_UD/CDFS.SY_=W2P_SP4_DE/I386/CDFS.SY_ I_UD/CDROM.SY_=W2P_SP4_DE/I386/CDROM.SY_ I_UD/CLASS2.SY_=W2P_SP4_DE/I386/CLASS2.SY_ I_UD/CLASSPNP.SY_=W2P_SP4_DE/I386/CLASSPNP.SY_ I_UD/CPQARRAY.SY_=W2P_SP4_DE/I386/CPQARRAY.SY_ I_UD/CPQARRY2.SY_=W2P_SP4_DE/I386/CPQARRY2.SY_ I_UD/CPQFCALM.SY_=W2P_SP4_DE/I386/CPQFCALM.SY_ I_UD/CPQFWS2E.SY_=W2P_SP4_DE/I386/CPQFWS2E.SY_ I_UD/C_850.NL_=W2P_SP4_DE/I386/C_850.NL_ I_UD/C_1252.NL_=W2P_SP4_DE/I386/C_1252.NL_ I_UD/DAC960NT.SY_=W2P_SP4_DE/I386/DAC960NT.SY_ I_UD/DISK.SY_=W2P_SP4_DE/I386/DISK.SY_ I_UD/DMBOOT.SY_=W2P_SP4_DE/I386/DMBOOT.SY_ I_UD/DMIO.SY_=W2P_SP4_DE/I386/DMIO.SY_ I_UD/DMLOAD.SY_=W2P_SP4_DE/I386/DMLOAD.SY_ I_UD/FASTFAT.SY_=W2P_SP4_DE/I386/FASTFAT.SY_ I_UD/FD16_700.SY_=W2P_SP4_DE/I386/FD16_700.SY_ I_UD/FDC.SY_=W2P_SP4_DE/I386/FDC.SY_ I_UD/FIREPORT.SY_=W2P_SP4_DE/I386/FIREPORT.SY_ I_UD/FLASHPNT.SY_=W2P_SP4_DE/I386/FLASHPNT.SY_ I_UD/FLPYDISK.SY_=W2P_SP4_DE/I386/FLPYDISK.SY_ I_UD/FTDISK.SY_=W2P_SP4_DE/I386/FTDISK.SY_ I_UD/HAL.DL_=W2P_SP4_DE/I386/HAL.DL_ I_UD/HALAACPI.DL_=W2P_SP4_DE/I386/HALAACPI.DL_ I_UD/HALACPI.DL_=W2P_SP4_DE/I386/HALACPI.DL_ I_UD/HALAPIC.DL_=W2P_SP4_DE/I386/HALAPIC.DL_ I_UD/HIDCLASS.SY_=W2P_SP4_DE/I386/HIDCLASS.SY_ I_UD/HIDPARSE.SY_=W2P_SP4_DE/I386/HIDPARSE.SY_ I_UD/HIDUSB.SY_=W2P_SP4_DE/I386/HIDUSB.SY_ I_UD/I8042PRT.SY_=W2P_SP4_DE/I386/I8042PRT.SY_ I_UD/INI910U.SY_=W2P_SP4_DE/I386/INI910U.SY_ I_UD/INTELIDE.SY_=W2P_SP4_DE/I386/INTELIDE.SY_ I_UD/IPSRAIDN.SY_=W2P_SP4_DE/I386/IPSRAIDN.SY_ I_UD/ISAPNP.SY_=W2P_SP4_DE/I386/ISAPNP.SY_ I_UD/KBDCLASS.SY_=W2P_SP4_DE/I386/KBDCLASS.SY_ I_UD/KBDGR.DLL=W2P_SP4_DE/I386/KBDGR.DLL I_UD/KBDHID.SY_=W2P_SP4_DE/I386/KBDHID.SY_ I_UD/LBRTFDC.SY_=W2P_SP4_DE/I386/LBRTFDC.SY_ I_UD/LP6NDS35.SY_=W2P_SP4_DE/I386/LP6NDS35.SY_ I_UD/L_INTL.NL_=W2P_SP4_DE/I386/L_INTL.NL_ I_UD/MOUNTMGR.SY_=W2P_SP4_DE/I386/MOUNTMGR.SY_ I_UD/MRAID35X.SY_=W2P_SP4_DE/I386/MRAID35X.SY_ I_UD/NCRC710.SY_=W2P_SP4_DE/I386/NCRC710.SY_ I_UD/NTDETECT.COM=W2P_SP4_DE/I386/NTDETECT.COM I_UD/NTFS.SY_=W2P_SP4_DE/I386/NTFS.SY_ I_UD/NTKRNLMP.EX_=W2P_SP4_DE/I386/NTKRNLMP.EX_ I_UD/OHCI1394.SY_=W2P_SP4_DE/I386/OHCI1394.SY_ I_UD/OPENHCI.SY_=W2P_SP4_DE/I386/OPENHCI.SY_ I_UD/PARTMGR.SY_=W2P_SP4_DE/I386/PARTMGR.SY_ I_UD/PCI.SY_=W2P_SP4_DE/I386/PCI.SY_ I_UD/PCIIDE.SY_=W2P_SP4_DE/I386/PCIIDE.SY_ I_UD/PCIIDEX.SY_=W2P_SP4_DE/I386/PCIIDEX.SY_ I_UD/PCMCIA.SY_=W2P_SP4_DE/I386/PCMCIA.SY_ I_UD/QL10WNT.SY_=W2P_SP4_DE/I386/QL10WNT.SY_ I_UD/QL1080.SY_=W2P_SP4_DE/I386/QL1080.SY_ I_UD/QL1240.SY_=W2P_SP4_DE/I386/QL1240.SY_ I_UD/QL2100.SY_=W2P_SP4_DE/I386/QL2100.SY_ I_UD/SBP2PORT.SY_=W2P_SP4_DE/I386/SBP2PORT.SY_ I_UD/SCSIPORT.SY_=W2P_SP4_DE/I386/SCSIPORT.SY_ I_UD/SERENUM.SY_=W2P_SP4_DE/I386/SERENUM.SY_ I_UD/SERIAL.SY_=W2P_SP4_DE/I386/SERIAL.SY_ I_UD/SETUPDD.SY_=W2P_SP4_DE/I386/SETUPDD.SY_ I_UD/SETUPREG.HIV=W2P_SP4_DE/I386/SETUPREG.HIV I_UD/SFLOPPY.SY_=W2P_SP4_DE/I386/SFLOPPY.SY_ I_UD/SPARROW.SY_=W2P_SP4_DE/I386/SPARROW.SY_ I_UD/SPCMDCON.SYS=W2P_SP4_DE/I386/SPCMDCON.SYS I_UD/SPDDLANG.SY_=W2P_SP4_DE/I386/SPDDLANG.SY_ I_UD/SYMC8XX.SY_=W2P_SP4_DE/I386/SYMC8XX.SY_ I_UD/SYMC810.SY_=W2P_SP4_DE/I386/SYMC810.SY_ I_UD/SYM_HI.SY_=W2P_SP4_DE/I386/SYM_HI.SY_ I_UD/TFFSPORT.SY_=W2P_SP4_DE/I386/TFFSPORT.SY_ I_UD/UHCD.SY_=W2P_SP4_DE/I386/UHCD.SY_ I_UD/ULTRA66.SY_=W2P_SP4_DE/I386/ULTRA66.SY_ I_UD/USBD.SY_=W2P_SP4_DE/I386/USBD.SY_ I_UD/USBHUB.SY_=W2P_SP4_DE/I386/USBHUB.SY_ I_UD/USBSTOR.SY_=W2P_SP4_DE/I386/USBSTOR.SY_ I_UD/VGA.SY_=W2P_SP4_DE/I386/VGA.SY_ I_UD/VGA850.FO_=W2P_SP4_DE/I386/VGA850.FO_ I_UD/VIDEOPRT.SY_=W2P_SP4_DE/I386/VIDEOPRT.SY_ I_UD/WMILIB.SY_=W2P_SP4_DE/I386/WMILIB.SY_ I_UD/SYSTEM32/NTDLL.DLL=W2P_SP4_DE/I386/SYSTEM32/NTDLL.DLL I_UD/SYSTEM32/SMSS.EXE=W2P_SP4_DE/I386/SYSTEM32/SMSS.EXE 8. use following command line in build-root to create your iso: mkisofs.exe -graft-points -cache-inodes -iso-level 1 -N -D -no-iso-translate -relaxed-filenames -b w2k_multi.img -no-emul-boot -boot-load-size 4 -hide w2k_multi.img -hide boot.catalog -volid "W2P_SP4_DE" -path-list pathlist.txt -o W2P_SP4_DE.ISO That's all (I hope I havn't forgaotten anything). To modify the boot menu hex edit 'w2k_multi.img'. Only two menu options are possible with the right edits - just try it hope that helps to get an idea, worked perfect for me and I never needed a floppy with unmodified winnt.sif on it again ...