Here.
Copy all the update exes into a folder
Copy this to the folder
Run - preferably from the powershell commandline
Output should be 3 files
files.bat
cats.bat
regs.reg
I believe this should simply keep working even if you keep piling more updates in there.
Just make sure they're not major upgrades like dx9 - or test them separately and combine
You'll have to check the output manually.
I noticed some files being copied to blank because the destination folder appears to be a custom folder number pulled from the registry based on the install path.
Quite clever, but would have to be fixed manually
I am running into issues with the script, when I try to run it (on Windows 11, in Windows terminal, using PowerShell with elevated permissions).
1PS C:\Users\wallythander\Desktop\Windows 2004 Update CD Slipstream\myne_test> .\meupdaterthing26072025.ps1 2ResourceUnavailable: C:\Users\wallythander\Desktop\Windows 2004 Update CD Slipstream\myne_test\meupdaterthing26072025.ps1:514 3Line | 4 514 | & .\$fullexename /q /t:"$currentdir\$exename" /c | Out-Null 5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6 | Program '238453USA8.EXE' failed to run: An error occurred trying to start process 7 | 'C:\Users\wallythander\Desktop\Windows 2004 Update CD Slipstream\myne_test\238453USA8.EXE' with working 8 | directory 'C:\Users\wallythander\Desktop\Windows 2004 Update CD Slipstream\myne_test'. The requested operation 9 | requires elevation.At C:\Users\wallythander\Desktop\Windows 2004 Update CD 10 | Slipstream\myne_test\meupdaterthing26072025.ps1:514 char:5 + & .\$fullexename /q /t:"$currentdir\$exename" 11 | /c | Out-Null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~. 12ResourceUnavailable: C:\Users\wallythander\Desktop\Windows 2004 Update CD Slipstream\myne_test\meupdaterthing26072025.ps
Interestingly, when I try to run it from PowerShell itself, I get
1PS C:\Users\wallythander\Desktop\Windows 2004 Update CD Slipstream\myne_test> .\meupdaterthing26072025.ps1 2.\meupdaterthing26072025.ps1 : File C:\Users\wallythander\Desktop\Windows 2004 Update CD 3Slipstream\myne_test\meupdaterthing26072025.ps1 cannot be loaded because running scripts is disabled on this system. 4For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. 5At line:1 char:1 6+ .\meupdaterthing26072025.ps1 7+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 8 + CategoryInfo : SecurityError: (:) []
I didn't have any issues running the last script straight in Windows Terminal, without administrator elevation I believe. I don't think it is failing on the first file, I think the telnet update is extracting.
OK, it was definitely me having dumb PowerShell trouble. Microsoft either switched it on me, or something about running the exes caused Windows to view it differently?
I think this is really neat, so you are registering the CATs using SUCATREG.EXE? I didn't know about that tool, cool. Is there a reason it needs to wait for a reboot after files.bat?
Other thing, I notice duplicate entries for "dummy.cat". From looking at the updates, I think those are meant to be renamed first, then registered.
From the old script's files.bat, something that would fail:
1copy "dummy.cat" "Backup 9100\Q330994.cat"
which I think suggests that dummy.cat is supposed to be renamed Q330994.cat, and then registered. I don't know if that is something that is even worth handling, I am not sure what exactly the point is of having a file named dummy.cat in the source, which seems to be about as big as the other cats from the update files, only to rename it on install? I wonder if the separate "dummy.cats" are even different
I think this is really neat, so you are registering the CATs using SUCATREG.EXE? I didn't know about that tool, cool. Is there a reason it needs to wait for a reboot after files.bat?
I just copied suacat syntax from the infs.
The tool was originally written to update ME from the dos iso I made.
Suacat is a Windows tool, I assume, so it had to wait until Windows booted. There's probably a better way to do it on startup before the user login.
I haven't had much time recently, but what time I have had for this has mostly been spent trying to get a better Windows 98 environment for building the CABs using rloew's tools. It is fairly slow in 86box, and would like an artificially fast experience for it.
I could try using real hardware (I have a Pentium 4 that would probably be fairly faster than 86box I could conveniently use). But that makes sharing files between the real hardware and my modern computer a lot more difficult.
So I have been playing around with getting Virtual PC working in a VM with Windows XP or Windows 7 on it. But Virtual PC 2007 won't let me mount a network drive as a shared folder, which is really what would make that work very neatly, and let me share files between Windows 98 and my host Linux computer.
Though, ironically, installing Windows 98 in VirtualBox would be made easier with a slipstream of the couple of patched files for high speed CPUs (the ones that patcher9x patches).
And I probably will replace those with patched alternatives, unless I can find a good reason not to.
Passing through a FAT32 formatted USB disk works really well, and being able to plug and unplug it from the VM on the fly makes it almost perfectly seamless. Every guide I saw suggested using network shares, which I thought about, but I kind of didn't want an SMB1 share on my network.
I was essentially thinking, that I could roll my own CAB, maybe get it to extract first (and to the Windows 98 install CD folder).
I wonder when exactly custom.inf (which infinst creates) needs to be present for the installer to see it. If it isn't right away, I wonder if I could get away with extracting it to the Windows 98 installer location on my hard drive. Especially if the custom.inf file is only used during the second stage of installation, my hope would be that so long as I have the files extracted and in the right place before the first reboot, it should just work?
What I spent some time today doing, was trying to get patched files out of Patch9x, since they seem to have some improvements to a couple of RLoew's tools. I got vmm32.vxd with their patch, but I am struggling to get the patcher to run on other files to do things like improve support for large drives. I might just go with RLoew's 1tb fix instead.
Then, I am going to redo the CAB files with updated system files, and try to see if I can create my own CAB file to extract into C:\WIN98 towards the begining of Windows setup, and see if I can have setup see the drivers.
So, I was making a mistake Patcher9x only patches for CPU issues. So, no wonder it doesn't work for some of the other things. So, RLoew patches for other system files, and a mix of Patcher9x and PATCHMEM for VMM32.VXD.
So, I want to use the VMM32.VXD from Patcher9X, that somehow also has PATCHMEM applied. Seems that Patcher9X doesn't object to being applied to the pre-modded PATCHMEM, so I tried that.
I am building a new set of cabs now, and plan to test in a VirtualBox VM. Should be a very good sign if I can install Windows unattended without Patcher9x.
I have minor explorer instability in VirtualBox, even with Patcher9X applied. Kind of annoying, but manageable. And more manageable if I turn on classic view of folders, and do not view them as web pages. And it makes rloew's slipstream tools run much faster. Still not fast, because it does a million things. But way way faster than 86box.