[Tool] ConvertWin9xSKUs - Convert Windows 9x SKUs (v0.1)

Discussion in 'Windows XP / Older OS' started by example12345678912345678, Feb 10, 2025 at 16:31.

  1. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    603
    214
    30
    "110 - Clean install using Select CD" and "100 - Clean install using Microsoft Internal" does not need to enter product key if edited?
     
  2. example12345678912345678

    Dec 29, 2019
    585
    339
    30
    I tried 100. It does not require entering product key. I haven't tried 110. I'm gonna try all of them.
    There's 121 - Unknown. But not even MSFN members know about that, that's why I put Unknown in that.
     
  3. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,541
    3,637
    90
  4. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    603
    214
    30
  5. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,541
    3,637
    90
    #6 Sajjo, Feb 11, 2025 at 01:33
    Last edited: Feb 11, 2025 at 10:00
    The problem with that script is that it will handle all files as 1 solid cabinet file, however, PRECOPY1.cab and PRECOPY2.cab are chained together.
    See this post https://forums.mydigitallife.net/posts/916409

    If you view/extract PRECOPY1.cab and PRECOPY2.cab with 7zip notice you will get all files either way.
    But if you read with "CABARC.EXE L PRECOPY1.cab" - you will see the actual content from this cab file.

    ---

    Getting more familiare with the process, you can adjust the script to produce multiple, chained cab files. :good3:
    But to just extract precopy1/2 and rebuild them, without modification, and see if we can get a macthing checksum you will most likely need to import file list as it's read from original file.
    The order will be different so by experience that will alter checksum.
    But that would not be to difficult to adjust for this experiment.

    Other than that, it sure works wonder.
    :worthy:
     
  6. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    603
    214
    30
    I extracted with 7z and makecab folders with abbodi tool. Installed under vmware flawless. No errors. My install corrupted inspite of no errors?

    I also saw that they look like seperated multipart archive. Nice find.
     
  7. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,541
    3,637
    90
  8. example12345678912345678

    Dec 29, 2019
    585
    339
    30
    Actually I tried to keep both Precopy1/2.cab files in Windows 98. But @Sajjo is right. I thought they were separate archives but in fact they are parts of a single archive.
    Also you told me about corruption. Can you explain more? And send a screenshot?
     
  9. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,541
    3,637
    90
    @example12345678912345678
    Try this
    Code:
    makecab.exe /f makecab.ddf
    makecab.ddf (line 2 and 3 - adjust path for your setup)
    Code:
    .Option Explicit
    .Set SourceDir="L:\cab_test_2\tmp_PRECOPY"
    .Set DiskDirectoryTemplate="L:\cab_test_2"
    .Set CabinetNameTemplate="PRECOPY*.cab"
    ;.Set MaxDiskSize=0
    ;.Set MaxCabinetSize=0
    ;.Set MaxDiskFileCount=69
    ;.Set CabinetFileCountThreshold=69
    .Set CabinetFileCountThreshold=0
    ;.Set FolderFileCountThreshold=59
    .Set FolderFileCountThreshold=0
    ;.Set FolderSizeThreshold=0
    ;.Set UniqueFiles=OFF
    .Set RptFileName=nul
    .Set InfFileName=nul
    .Set Cabinet=ON
    .Set Compress=ON
    .Set CompressionType=lzx
    .Set CompressionMemory=21
    
    dblspace.bat
    defrag.bat
    drvspace.bat   
    scandisk.bat   
    sucheck.bat     
    sufail.bat     
    coll0.bin       
    coll1.bin       
    coll10.bin     
    coll11.bin     
    coll12.bin     
    coll13.bin     
    coll14.bin     
    coll15.bin     
    coll16.bin     
    coll17.bin     
    coll18.bin     
    coll19.bin     
    coll2.bin       
    coll3.bin       
    coll4.bin       
    coll5.bin       
    coll6.bin       
    coll7.bin       
    coll8.bin       
    coll9.bin       
    drvspace.bin   
    subackbb.bin   
    command.com     
    win3x.csb       
    win95.csb       
    drivers.ddb     
    cfgwiz.dll     
    comctl31.dll   
    commctrl.dll   
    commdlg.dll     
    complinc.dll   
    dindi.dll       
    dlcndi.dll     
    dskmaint.dll   
    infrared.dll   
    kommctrl.dll   
    lzexpand.dll   
    msprint.dll     
    msprint2.dll   
    mstcp.dll       
    ndswan16.dll   
    ndswan32.dll   
    netapi.dll     
    netdi.dll       
    netos.dll       
    nwnds.dll       
    pidgen.dll     
    pppndi.dll     
    rnaserv.dll     
    rnasetup.dll   
    shell.dll       
    suexpand.dll   
    sysdetmg.dll   
    ver.dll         
    verx.dll       
    win95bb.dll     
    winsock.dll     
    wsock32.dll     
    cfgwiz32.exe   
    hwinfo.exe     
    scanreg.exe     
    sulfnbk.exe     
    suwin.exe       
    
    1394.inf                 
    adapter.inf               
    amovie.inf               
    apcompat.inf             
    applets.inf               
    applets1.inf             
    atitunep.inf             
    atixbar.inf               
    awfax.inf                 
    awupd.inf                 
    bt829.inf                 
    cemmf.inf                 
    certify.inf               
    content.inf               
    copy.inf                 
    copy1.inf                 
    copy2.inf                 
    cwbaud98.inf             
    del.inf                   
    del1.inf                 
    del2.inf                 
    deskmgmt.inf             
    diskdrv.inf               
    dvd.inf                   
    dxati.inf                 
    dxchips.inf               
    dxcirrus.inf             
    dxglint.inf               
    dxi128.inf               
    dxmga.inf                 
    dxmm3dfx.inf             
    dxneom.inf               
    dxnvidia.inf             
    dxpmedia.inf             
    dxrend.inf               
    dxs3.inf                 
    dxtrid.inf               
    dxtseng.inf               
    dxwd.inf                 
    enable.inf               
    ethpcmdm.inf             
    ethpcmf.inf               
    ethpcnet.inf             
    f3audio.inf               
    fonts.inf                 
    gps.inf                   
    hiddev.inf               
    ibm4mir.inf               
    ibmeimp.inf               
    icw97.inf                 
    ie.inf                   
    ie4dat16.inf             
    iefiles.inf               
    ieshell.inf               
    image.inf                 
    inetmail.inf             
    infrared.inf             
    isupport.inf             
    joystick.inf             
    keyboard.inf             
    ks.inf                   
    kscaptur.inf             
    ksfilter.inf             
    locale.inf               
    machine.inf               
    machine2.inf             
    mf.inf                   
    mf8020m.inf               
    mfcem28.inf               
    mfcem33.inf               
    mfosi.inf                 
    midi.inf                 
    modems.inf               
    monitor.inf               
    monitor2.inf             
    monitor3.inf             
    monitor4.inf             
    monitor6.inf             
    monitor7.inf             
    motown.inf               
    msbase.inf               
    mscdrom.inf               
    msddraw.inf               
    msdet.inf                 
    msdisp.inf               
    msdos.inf                 
    msdsound.inf             
    msdx.inf                 
    msfdc.inf                 
    msinfo.inf               
    msjava16.inf             
    msmail.inf               
    msmouse.inf               
    msnclnup.inf             
    msports.inf               
    msprint.inf               
    msprint2.inf             
    msprint3.inf             
    msprint4.inf             
    mstask.inf               
    mtd.inf                   
    mullang.inf               
    multilng.inf             
    ndiswan.inf               
    net100i.inf               
    net2xnet.inf             
    net3c562.inf             
    net3c575.inf             
    net3c589.inf             
    net3com.inf               
    net3comt.inf             
    net557.inf               
    net8020m.inf             
    neta351.inf               
    netamd.inf               
    netatki.inf               
    netblue.inf               
    netbw.inf                 
    netcable.inf             
    netcbdec.inf             
    netcbe.inf               
    netce2.inf               
    netce3.inf               
    netcem.inf               
    netcem28.inf             
    netcem33.inf             
    netcli.inf               
    netcli3.inf               
    netcpq.inf               
    netcrc.inf               
    netdec.inf               
    netdef.inf               
    netdl660.inf             
    netdlc.inf               
    nete100i.inf             
    nete10p.inf               
    netee16.inf               
    netejet.inf               
    netel59x.inf             
    netel5x9.inf             
    netel90x.inf             
    netenet.inf               
    netepc.inf               
    netex10.inf               
    netfake.inf               
    netfam.inf               
    netfar.inf               
    netfjvi.inf               
    netfjvj.inf               
    netfl32.inf               
    netflex.inf               
    netfore.inf               
    netgen.inf               
    nethp.inf                 
    nethpind.inf             
    nethppci.inf             
    nethppnd.inf             
    netibm.inf               
    netibm1.inf               
    netibm2.inf               
    netibmv.inf               
    neticard.inf             
    netinfo.inf               
    netm16a.inf               
    netm32a.inf               
    netmadge.inf             
    netmatmc.inf             
    netmdyp.inf               
    netmhz.inf               
    netnepls.inf             
    netnf3.inf               
    netnice.inf               
    netnovel.inf             
    neto100.inf               
    netoca1p.inf             
    netoce3x.inf             
    netoce4x.inf             
    netoli.inf               
    netosi.inf               
    netpci.inf               
    netppp.inf               
    netpptp.inf               
    netpro10.inf             
    netprot.inf               
    netrnsf.inf               
    netrptip.inf             
    netrt.inf                 
    netrtf.inf               
    netservr.inf             
    netsilc.inf               
    netsmc.inf               
    netsmc1.inf               
    netsmc2.inf               
    netsmctr.inf             
    netsnip.inf               
    netsock.inf               
    netstrm.inf               
    nettcc.inf               
    nettdkp.inf               
    nettlan.inf               
    nettpro.inf               
    netxir.inf               
    nodriver.inf             
    oce2xmf.inf               
    octkmf.inf               
    octknet.inf               
    ole2.inf                 
    osr2.inf                 
    pcmcia.inf               
    pcmciamf.inf             
    powercfg.inf             
    predrv.inf               
    prtupd.inf               
    pwsinfo.inf               
    regwiz.inf               
    ren.inf                   
    rna.inf                   
    sb16awe.inf               
    scsi.inf                 
    shell.inf                 
    shell2.inf               
    smcmodem.inf             
    sti.inf                   
    subase.inf               
    swenum.inf               
    taishid.inf               
    tapi.inf                 
    timezone.inf             
    umaxusd.inf               
    unknown.inf               
    usb.inf                   
    vidcap.inf               
    wave.inf                 
    wdmaudio.inf             
    winver1.inf               
    wordpad.inf               
    netdet.ini               
    win95bb.ini               
    scanreg.pif               
    default.sfc               
    drvspace.sys             
    wdmfs.sys                 
    winboot.sys               
    wmidrv.sys               
    wan.tsp                   
    rplimage.dll             
    appletpp.inf             
    athena.inf               
    atmuni.inf               
    axa.inf                   
    cabpayie.inf             
    cchat21.inf               
    clip.inf                 
    cxpdfgo.inf               
    cxpdfpci.inf             
    decpsmw4.inf             
    didiva.inf               
    digiisdn.inf             
    diwan.inf                 
    easyisdn.inf             
    epg.inf                   
    fpxprs16.inf             
    grouppol.inf             
    imagevue.inf             
    infoisdn.inf             
    lanem.inf                 
    lanep.inf                 
    mfdfgo.inf               
    mfdfpci.inf               
    mmopt.inf                 
    msdxddex.inf             
    msnetmtg.inf             
    ncplatfm.inf             
    ncwandis.inf             
    ndscli.inf               
    netaic59.inf             
    netcd.inf                 
    netcmdr.inf               
    netdca.inf               
    netdfgo.inf               
    netdfpci.inf             
    netdlc32.inf             
    neteni25.inf             
    netevx.inf               
    netibmtb.inf             
    netncr.inf               
    netracal.inf             
    netsmc32.inf             
    nettulip.inf             
    netub.inf                 
    netznote.inf             
    nsplay9x.inf             
    ols.inf                   
    realplay.inf             
    shell3.inf               
    swdir16.inf               
    swflsh16.inf             
    themes.inf               
    themes1.inf               
    themes2.inf               
    tour98.inf               
    tshoot.inf               
    unimodv.inf               
    usrisdn.inf               
    vdolive.inf               
    vrml2c.inf               
    wbem.inf                 
    wpwin98.inf               
    wsh.inf                   
    ieeula.chm               
    iesupp.chm               
    license.chm               
    mtshelp.chm               
    webhelp.chm               
    setupx.dll               
    pws_main.htm             
    layout.inf               
    layout1.inf               
    layout2.inf               
    mshdc.inf                 
    net.inf                   
    nettrans.inf             
    precopy.inf               
    sampler.inf               
    setupc.inf               
    setuppp.inf               
    winver.inf               
    lic_help.txt             
    license.txt               
    support.txt
    
    I'm still trying to make a 1:1 copy but for know you can produce precopy cab's chained.
    Give it at test - see if Windows 98 accepts that a few files are in the "wrong" cab, files are however in correct order.
    (precopy1/2 from Win 98 fe 100/110/111)
     
  10. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,541
    3,637
    90
    Possible issues :dunno::
    1. 59 files are in precopy1 - should be in precopy2 (first 69 files are original listed in precopy1)
    2. cab ID is wrong - not sure if that is read by the system
    3. correct filecount for each block: 0:59 1:10 2:315 3:15
     
  11. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    603
    214
    30
  12. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,541
    3,637
    90
  13. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    603
    214
    30
    115 - Clean install using Full OEM CD -----> 100 - Clean install using Microsoft Internal
     
  14. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,541
    3,637
    90
    Yeah, Win 98 Second Edition 115 english I assume.
    Thank you :)
     
  15. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    603
    214
    30
  16. Babass_

    Babass_ MDL Novice

    Tuesday
    2
    2
    0
    #18 Babass_, Feb 11, 2025 at 21:33
    Last edited: Feb 11, 2025 at 21:53
    Indeed. I've spend a lot of time figuring that out. On CD it's not a problem, but on floppy disk you are limited. So the exact version of diamond is required.
    You can find my modified DDF file here by pressing the "afficher" button :
    www win3x org/win3board/viewtopic.php?t=28276
    The file size has to be edited of course.
    With the windows 95 diamond version the file size of the last CAB will be a bit bigger compared to the original files. In this case you have to update layout.inf as file location may not match anymore.
    These CAB files were created in multiple steps, one just to create layout.inf (all the layout files, 2 or 3 of them) and then the CAB were re-created again including the previously generated layout files.
    For this project, this isn't needed... unless you cannot find the required diamond.exe.
    I'm sure version 1.00.603.0 is somewhere around... but where.
    Unless I'm bad and you can create identical CAB files with diamond 1.00.0530 for Windows 98. But I had no success. I think the Quantum algorithm got updated between these 2 versions.
     
  17. Babass_

    Babass_ MDL Novice

    Tuesday
    2
    2
    0
    #20 Babass_, Feb 11, 2025 at 21:54
    Last edited: Feb 11, 2025 at 23:06
    No, it says Microsoft (R) Diamond Disk Layout Tool - Version (32) 1.00.0530 (03/29/95). Sorry.
    It's the extractor that has the correct version number, but not the compressor.
    Also I modified my previous post, explaining why this is a problem.

    I forgot to mention, the Quantum algorithm seems to completely disappear from newer versions of compressors (cabarc, makecab) I don't know the reason why.

    EDIT : Wait, the version on the second link seems to handle Quantum compression... I'll try.
    Ok, I tried, the files generated by version 1.00.0530 and the version above (5.1.2245.1) seems identical in size.
    This is weird, as it's a later version. Maybe there is a parameter I'm missing, then.

    No it wont. At the beginning of install it'll extract all precopy.cab files on the hard drive, it won't look for a specific file inside.
    But later when it starts copying files on the hard drive it'll start looking for a specific file into the CAB and tell you that a file can't be found, pointing to the wrong CAB. I had that problem many times and had to rebuild all the layout files... annoying.
    Unless you are lucky enough and have the few files required from precopy in the correct CAB.
    I'm not sure in what order I should list the file in the DDF file. I chose :
    layout.inf -> files listed =1
    layout1.inf -> files listed =1
    layout.inf -> files listed =2
    layout1.inf -> files listed =2
    layout2.inf -> files listed =2
    In the case of the CD version. Maybe this is not correct.

    EDIT : I tried another way :
    layout1.inf -> files listed =1
    layout.inf -> files listed =1
    layout2.inf -> files listed =2
    layout1.inf -> files listed =2
    layout.inf -> files listed =2
    And the last CAB was even bigger. So something is still wrong.

    So my question is, is there any way to know exactly in which order the files have been compressed ? Instead of relying on these 3 layout files ? It would make things significantly faster.