VOGONS


Reply 20 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie

It seems to work consistently if I just run the setup file as is, I even removed a completion message, which I thought might have a wild shot at being the explanation (cannot find files if no completion message, all files found if completion message shows).

However, adding the /Q switch makes things unreliable, and not sure I really need to, considering that I have no prompt and no license. I am also not getting the prompt to reboot anymore, but I wonder if that has to do with me repeatedly installing the package to test.

Reply 21 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie

False positive on the setup file working. I can't even get it working as consistently as it seemed to in the same VM. Internet Express seems to be a huge pain, it fails inconsistently, complaining about not being able to find the INF, "advanced INF failure," or "Insert Disk." Maybe 1/10 times it doesn't throw an error.

I am thinking I might just do the batch script approach (following along myne's examples) to install the files, and give up on Internet Express. Which is too bad, I kind of liked the idea of "repacking" the nusb installer.

Reply 22 of 38, by doshea

User metadata
Rank Oldbie
Rank
Oldbie
wallythander wrote on 2025-07-20, 21:10:

I can't even get it working as consistently as it seemed to in the same VM.

Is this in 86Box? I've had issues under Bochs and Qemu when the emulated machine has an effective clock speed that is too fast - I assume it triggers race conditions in Windows Setup. I end up having to run them slower (or unlocking the RTC). I assume this wouldn't be a problem in 86Box though due to it emulating a slower CPU with a fixed, period-appropriate clock speed.

Reply 23 of 38, by myne

User metadata
Rank Oldbie
Rank
Oldbie
wallythander wrote on 2025-07-20, 21:10:

I am thinking I might just do the batch script approach (following along myne's examples) to install the files, and give up on Internet Express. Which is too bad, I kind of liked the idea of "repacking" the nusb installer.

Paste what you have here.
Also worth remembering the inf processor had updates over the years which is probably why it was bundled with every patch.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 24 of 38, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Used my script on _nusb.inf here's the copy files half:


copy QFECheck.exe %Windir%
copy DISKTSD.VXD %Windir%\Options\Cabs
copy user32.dll %Windir%\Options\Cabs
copy user.exe %Windir%\Options\Cabs
copy ntmaphlp.pdr %Windir%\Options\Cabs
copy ntmap.inf %Windir%\Options\Cabs
copy 1394.INF %Windir%\Options\Cabs
copy hardware.hlp %Windir%\Options\Cabs
copy systray.exe %Windir%\Options\Cabs
copy hotplug.dll %Windir%\Options\Cabs
copy ios.vxd %Windir%\Options\Cabs
copy NTMAP.SYS %Windir%\Options\Cabs
copy SBP2PORT.SYS %Windir%\Options\Cabs
copy OHCI1394.SYS %Windir%\Options\Cabs
copy 1394BUS.SYS %Windir%\Options\Cabs
copy _USB2UN.INF %Windir%\INF
copy usbauth.sys %Windir%\Options\Cabs
copy USB.INF %Windir%\INF
copy usbmphlp.pdr %Windir%\Options\Cabs
copy usbstor.sys %Windir%\Options\Cabs
copy USBCCGP.SYS %Windir%\Options\Cabs
copy USBHUB.SYS %Windir%\Options\Cabs
copy USBD.SYS %Windir%\Options\Cabs
copy UHCD.SYS %Windir%\Options\Cabs
copy OPENHCI.SYS %Windir%\Options\Cabs
copy cdvsd.vxd %Windir%\Options\Cabs
copy wdmstub.sys %Windir%\Options\Cabs
copy USBPORT.SYS %Windir%\Options\Cabs
copy USBHUB20.SYS %Windir%\Options\Cabs
copy USBEHCI.SYS %Windir%\Options\Cabs
copy USB2.INF %Windir%\Options\Cabs
copy explorer.exe %Windir%\Options\Cabs
copy NODRIVER.INF %Windir%\Options\Cabs
copy usbntmap.inf %Windir%\Options\Cabs
copy usbstor.inf %Windir%\Options\Cabs
copy usbntmap.sys %Windir%\Options\Cabs
copy USB.INF %Windir%\Options\Cabs
copy USB2.INF %Windir%\INF
copy usbntmap.inf %Windir%\INF
copy UHCD.SYS %Windir%\SYSTEM32\DRIVERS
copy OPENHCI.SYS %Windir%\SYSTEM32\DRIVERS
copy wdmstub.sys %Windir%\SYSTEM32\DRIVERS
copy USBPORT.SYS %Windir%\SYSTEM32\DRIVERS
copy USBHUB20.SYS %Windir%\SYSTEM32\DRIVERS
copy USBEHCI.SYS %Windir%\SYSTEM32\DRIVERS
copy usbu2a.sys %Windir%\SYSTEM32\DRIVERS
copy usbstor.sys %Windir%\SYSTEM32\DRIVERS
copy usbntmap.sys %Windir%\SYSTEM32\DRIVERS
copy usbauth.sys %Windir%\SYSTEM32\DRIVERS
copy NTMAP.SYS %Windir%\SYSTEM32\DRIVERS
copy SBP2PORT.SYS %Windir%\SYSTEM32\DRIVERS
copy OHCI1394.SYS %Windir%\SYSTEM32\DRIVERS
copy 1394BUS.SYS %Windir%\SYSTEM32\DRIVERS
copy explorer.exe %Windir%
copy USBD.SYS %Windir%\SYSTEM32\DRIVERS
copy NODRIVER.INF %Windir%\INF
copy USBHUB.SYS %Windir%\SYSTEM32\DRIVERS
copy QV2KUX.SYS %Windir%\SYSTEM32\DRIVERS
copy usbstor.inf %Windir%\INF
copy ntmap.inf %Windir%\INF
copy 1394.INF %Windir%\INF
copy hardware.hlp %Windir%\Help
copy QFECheck.hlp %Windir%\Help
copy cdvsd.vxd %Windir%\SYSTEM\IOSUBSYS
copy usbmphlp.pdr %Windir%\SYSTEM\IOSUBSYS
copy DISKTSD.VXD %Windir%\SYSTEM\IOSUBSYS
copy ntmaphlp.pdr %Windir%\SYSTEM\IOSUBSYS
copy sysdm.cpl %Windir%\SYSTEM
copy user32.dll %Windir%\SYSTEM
copy user.exe %Windir%\SYSTEM
copy systray.exe %Windir%\SYSTEM
copy hotplug.dll %Windir%\SYSTEM
copy ios.vxd %Windir%\SYSTEM\VMM32
copy USBCCGP.SYS %Windir%\SYSTEM32\DRIVERS
copy QV2KUX.SYS %Windir%\Options\Cabs

The rest is the reg keys.

Last edited by myne on 2025-07-21, 09:10. Edited 1 time in total.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 25 of 38, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Scratch that. Found the "latest" script.

Output is 2 bats.
Which, the reg one didn't run from dos, so I had to modify the output for the iso.

In any case, that's the contents of _nusb.inf as 2 bats.

Script and output attached

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 26 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie
doshea wrote on 2025-07-21, 02:58:

Is this in 86Box? I've had issues under Bochs and Qemu when the emulated machine has an effective clock speed that is too fast - I assume it triggers race conditions in Windows Setup. I end up having to run them slower (or unlocking the RTC). I assume this wouldn't be a problem in 86Box though due to it emulating a slower CPU with a fixed, period-appropriate clock speed.

Yeah, 86Box, though I probably don't need to do that for things like using rloew's slipstream utility.

myne wrote on 2025-07-21, 03:16:

Paste what you have here.
Also worth remembering the inf processor had updates over the years which is probably why it was bundled with every patch.

I am strongly suspecting different versions being the problem right now. I didn't post an update last night, but instead of going the route of your script, I used WinRar to create a self extracting archive to execute the _start.bat file from the nusb installer. Outside of not being familiar with PowerShell, I didn't realize it was available for Linux, so thought running it would be a hurdle of its own, and I already had WinRAR and 7Zip installed in my Windows 98 work VM.

I think I overwrote my bad attempts at Internet Express attempts with this last one.

Reply 27 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie
myne wrote on 2025-07-21, 09:09:
Scratch that. Found the "latest" script. […]
Show full quote

Scratch that. Found the "latest" script.

Output is 2 bats.
Which, the reg one didn't run from dos, so I had to modify the output for the iso.

In any case, that's the contents of _nusb.inf as 2 bats.

Script and output attached

Oh that is really neat. And that is a lot simpler looking than an INF file.

It expects a reboot after the first batch file runs, and then updates the registry on the next boot?

I found a copy of my not so great working Internet Express attempt to install the files. I need to repack it because the drivers are already successfully slipstreamed (using infinst). So I am only trying to do the remaining files.

Reply 28 of 38, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Um... I think I just split it into 2 bats for simplicity.
No other smarts were added.

Try running one immediately after the other

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 29 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie

Where I am today:

I have managed to get USB working, not using myne's method, but just taking the files I couldn't get to work as an installer with Internet Express and compressing them as an SFX archives in WinRAR 3 that installs the files using the installer inf file using the advanced installer, and that seems to work just fine, both on 86box and on real hardware. So I decided to add more software using the same approach, creating a batch script to execute installers, and bundling them together in an SFX archive. Then taking those, and bundling them into a single, big SFX installer, called slip.exe, containing a batch script to execute the individual SFX installers I have made for each part (or just the plain MP9 installer).

I figured I would try to take the same approach to integrating the updates from the 2004 update CD released by Microsoft. I used the INF files from the CD to determine the order that it installs updates in (and lifted the switches used for silent install), and decided to try integrating IE6 SP1 first, since that is what the CD installs first. That works mostly, though the install takes a good while, and I took a couple of stabs at trying to get the installer to run more quickly (I don't care about preserving my IE5 configuration, for example) but failed to get any significant time improvement.

Windows Media Player 9 installs really smoothly, with absolutely no issues that I can see.

After giving up on getting the IE6 setup wizard to skip steps, I decided to integrate the actual Windows updates. I didn't use myne's approach because I figured I would see how well just copying the approach Microsoft takes on the update CD works out. And because I need to install PowerShell in order to do use their method. That has worked reasonably well, however two updates, KB 329115 (319115USA8.EXE) and KB 814078 (js56men.exe) failed during Windows setup this way, but all the other updates look to have successfully installed.

KB 329115 failed with a message about not being compatible with my version of Internet Explorer, while KB 814078 failed with a message telling me "The disk labeled Windows Script Version 5.6 is now required. This disk is provided by your computer manufacturer, click ok to continue" asking me to find a file that is bundled in the update.

Both successfully install after I boot for the second time, and add my monitor through plug and play. I suspect KB 329115 is just unhappy that I haven't rebooted since I installed IE6. No clue about KB 814078. I might just try to run them on second boot (not entirely sure how to do that in the Windows 98 setup flow, but sure I can figure out). But more likely to try to try myne's PowerShell scripts first.

See slip.exe (which I uploaded to archive.org), which I invoke at the end of the setup process through msbatch.inf if you are curious. I like the idea of having everything I am adding in a single file, because I am already adding a ton of new files to the WIN98 folder with INFINST. But then I am watching WinRAR spend a fair bit of time extracting things at the end of the install, but the biggest time sink is the IE6 SP 1 install, both extracting it with WinRAR and then installing it.


What I want to do next:

Add DirectX 9.0 C into the slip.exe file, silently install it.

Try out myne's Powershell scripts to create batch scripts to install all the official updates. Maybe I get some speed advantage by doing that, and hopefully I avoid any issues by avoiding the actual installers for KB 329115 and KB 814078, and things will work out, because I already have everything they want installed, and the installers are just unhappy without a reboot.

Slipstream rloew's patched files into the source 98 install files using his slipstream utility, along with replacing doskey with the improved version I mentioned in the first post. I am not 100% sure some of his patches don't add files that don't exist in the 98 installer, if they do, I will add them with either INFINST, or as a step in slip.exe if needed.

Add 7zip 9.20 and silently install it. Maybe give it certain extensions by default, if that is possible with registry additions/modifications, I haven't looked into it.

Add non-Intel chipset drivers to my 98 CD using INFINST.

Add Microsoft IntelliMouse drivers of some sort (and maybe accompanying software?)

Remove login prompt request with a registry entry

(Maybe) Add notepad++

(Probably Not) Figure out some method to consolidate the drivers I added, and their corresponding custom.inf file into a single file to keep the number of files in the install folder down. Maybe add them to their own special cabinet file, and integrate that into setup? Seems like a huge pain.

(Probably not) fight with Internet Explorer 6 install to either be smaller, faster, or ideally both

Reply 30 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie

Not that I am entirely surprised, but I installed PowerShell on Linux, and myne's script seems to error with the message "sort: cannot read: lastwritetime: No such file or directory," which I assume means it is expecting something Windows-ey.

Reply 31 of 38, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Pretty sure you can comment that line out.
But it more seems like it isn't being given any files to sort.
The inf may be different.

Win 10/11 vm recommended though.

My method, with a slight change (adding .reg file instead of individual lines in the bat) worked for all the single ME updates. I didn't bother with the bigger updates like Ie/wmp before I got distracted.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 32 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie

I got Windows 11 setup, and ran your script, thankfully I don't have to run it in a folder once per update and lump the files.bats together. I am pretty sure I managed to get the regs.bat file as a functional .reg file. Though, regs.bat output one very very long line, not individual lines per registry entry. reg add, and errorlevel. There were lots of repeated registry entries, I assume that has to do with the error checking in the .bat.

Is the idea that the files.bat script is run in a single folder with all the files from the updates in it? A couple of the files are duplicated (outside of the ones that come with all the updates), which one should I choose?

Reply 33 of 38, by myne

User metadata
Rank Oldbie
Rank
Oldbie

One line?
Weird. I'll look later, but there is a $newline variable you might find

Yeah pretty much.
That's why they're sorted by date.
So any overwrites are at least in order

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 34 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie

Yeah, one line. It seems to mostly work, though some of the files fail to copy during install, did you run into that with ME?

I guess I am a bit confused, because the files.bat it outputs isn't referencing files in a directory, so I assumed I needed to extract the files in order, into one big folder for files.bat to run from. But when I did that (and trimmed out duplicate file copies from files.bat) it worked neatly, outside of failing to copy a couple of files. After install, looking at QFE check, all the updates are properly there.

I am trying to get to a point where I can have a list of which files successfully copy, and which do not into a text file and investigate further, but I haven't tested that yet. So I can't confirm which files fail to copy (and where they fail to copy to) yet, exactly. I notice that two of the last files that fail to copy, one fails to copy because of a non-existent directory, and another is called dummy.cat in the source directory, and I think the intention of the update is to copy and rename it a couple of times. I wonder if that is the cause of most of the failed file copies?

Other thing I ran into, and nearly missed, but one of the Windows 98 updates is two updates, packed into a single installer that just executes them silently in order, so I had to essentially treat those updates as individual pieces.

Overall though, a really nice time saving over just running the updates unattended the way the 2004 update CD does, thank you for sharing the script! I am not entirely sure that once I know which files fail to copy, I will be particularly concerned, but I am curious.

Reply 35 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie

I am thinking some of the files are not copying correctly for other reasons, though I can't see the prompt output in order to say exactly what that might be. Redirecting the output to a text file gives me which files won't copy, but not why they won't copy. Some of them are pretty obviously copy not being willing to rename files on copy, which should be relatively straight forward to tweak into working (worst case scenario, delete original file if there is one, copy replacement, rename replacement as original).

But the others, I am not sure why they fail to copy, and I am not entirely sure how to get the error messages from the files higher up in the copy. Maybe I should handle the ones that are expecting to copy/rename the file, and then stick the ones I am more confused about at the end of the files.bat script, and that way be able to see them at the end of the script run?

Below is the log of file copying from files.bat, output into a .txt file using > and >>.

winup.txt log file
copy "Telnet.exe" "C:\WINDOWS" 
1 file(s) copied
copy "QFECheck.exe" "C:\WINDOWS"
1 file(s) copied
copy "QFECheck.hlp" "C:\WINDOWS\Help"
1 file(s) copied
copy "TelnetUN.INF" "C:\WINDOWS\INF\QFE"
1 file(s) copied
copy "vip.98G" "C:\WINDOWS\SYSTEM\vip.386"
1 file(s) copied
copy "238453un.98g" "C:\WINDOWS\INF\QFE\W98.SP1\238453un.inf"
0 file(s) copied
copy "vip.98S" "C:\WINDOWS\SYSTEM\vip.386"
1 file(s) copied
copy "238453un.98s" "C:\WINDOWS\INF\QFE\Win98.SE\238453un.inf"
0 file(s) copied
copy "245729UN.INF" "C:\WINDOWS\INF\QFE\W98"
0 file(s) copied
copy "msnet32.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "msnet32.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "riched32.dll" "C:\WINDOWS\SYSTEM"
0 file(s) copied
copy "riched20.153" "C:\WINDOWS\SYSTEM\riched20.dll"
0 file(s) copied
copy "usp10.dll" "C:\WINDOWS\SYSTEM"
0 file(s) copied
copy "riched32.dll" "C:\WINDOWS\options\cabs"
0 file(s) copied
copy "riched20.153" "C:\WINDOWS\options\cabs\riched20.dll"
0 file(s) copied
copy "usp10.dll" "C:\WINDOWS\options\cabs"
0 file(s) copied
copy "riched20.120" "C:\WINDOWS\SYSTEM\riched20.dll"
0 file(s) copied
copy "riched20.120" "C:\WINDOWS\options\cabs\riched20.dll"
0 file(s) copied
copy "256015un.98g" "C:\WINDOWS\INF\QFE\W98\256015un.inf"
0 file(s) copied
copy "ifsmgr.98g" "C:\WINDOWS\SYSTEM\VMM32\IFSMGR.VXD"
1 file(s) copied
copy "256015un.98s" "C:\WINDOWS\INF\QFE\W98.SE\256015un.inf"
0 file(s) copied
copy "ifsmgr.98s" "C:\WINDOWS\SYSTEM\VMM32\IFSMGR.VXD"
1 file(s) copied
copy "259728un.98g" "C:\WINDOWS\INF\QFE\W98\259728un.inf"
0 file(s) copied
copy "VIP.98g" "C:\WINDOWS\options\cabs\VIP.386"
1 file(s) copied
copy "259728un.98s" "C:\WINDOWS\INF\QFE\W98.SE\259728un.inf"
0 file(s) copied
copy "VIP.98s" "C:\WINDOWS\options\cabs\VIP.386"
1 file(s) copied
copy "1998UN.INF" "C:\WINDOWS\INF\QFE\W98\273991UN.INF"
0 file(s) copied
copy "vserver.98g" "C:\WINDOWS\options\cabs\vserver.vxd"
1 file(s) copied
copy "vserver.98g" "C:\WINDOWS\SYSTEM\vserver.vxd"
1 file(s) copied
Show last 227 lines
copy "vserver.vxd" "C:\WINDOWS\SYSTEM" 
0 file(s) copied
copy "2222UN.INF" "C:\WINDOWS\INF\QFE\W98.SE\273991UN.INF"
0 file(s) copied
copy "vserver.98s" "C:\WINDOWS\options\cabs\vserver.vxd"
1 file(s) copied
copy "vserver.98s" "C:\WINDOWS\SYSTEM\vserver.vxd"
1 file(s) copied
copy "nwlink.vxd" "C:\WINDOWS\SYSTEM"
0 file(s) copied
copy "1998UN.INF" "C:\WINDOWS\INF\QFE\W98\273727UN.INF"
0 file(s) copied
copy "nwlink.98g" "C:\WINDOWS\options\cabs\nwlink.vxd"
1 file(s) copied
copy "nwlink.98g" "C:\WINDOWS\SYSTEM\nwlink.vxd"
1 file(s) copied
copy "2222UN.INF" "C:\WINDOWS\INF\QFE\W98.SE\273727UN.INF"
0 file(s) copied
copy "nwlink.98s" "C:\WINDOWS\options\cabs\nwlink.vxd"
1 file(s) copied
copy "nwlink.98s" "C:\WINDOWS\SYSTEM\nwlink.vxd"
1 file(s) copied
copy "hticons.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "HYPERTRM.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "HYPERTRM.exe" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "hticons.dll" "24\PROGRA~1\ACCESS~1\HYPERT~1"
0 file(s) copied
copy "HYPERTRM.dll" "24\PROGRA~1\ACCESS~1\HYPERT~1"
0 file(s) copied
copy "HYPERTRM.exe" "24\PROGRA~1\ACCESS~1\HYPERT~1"
0 file(s) copied
copy "shel95.dll" "C:\WINDOWS\SYSTEM\shell32.dll"
0 file(s) copied
copy "ssdpapi.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "ssdpsrv.exe" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "upnp.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "ssdpapi.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "ssdpsrv.exe" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "upnp.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "snmp.exe" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "snmpapi.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "snmpapi.dll" "C:\WINDOWS"
1 file(s) copied
copy "snmp.exe" "C:\WINDOWS"
1 file(s) copied
copy "323172UN.INF" "C:\WINDOWS\INF\QFE\W98"
0 file(s) copied
copy "xenroll.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "xenroll.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "hh.exe" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "hhctrl.ocx" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "hhctrlui.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "hhsetup.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "itircl.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "itss.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "hh.exe" "C:\WINDOWS"
1 file(s) copied
copy "hhctrl.ocx" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "hhsetup.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "itircl.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "itss.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "hhctrlui.dll" "C:\WINDOWS\SYSTEM\MUI\0409"
1 file(s) copied
copy "dunzip32.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "dzip32.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "zipfldr.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "dunzip32.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "dzip32.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "zipfldr.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "crypt32.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "cryptdlg.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "schannel.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "softpub.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "crypt32.dll" "C:\WINDOWS\SYSTEM"
0 file(s) copied
copy "cryptdlg.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "schannel.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "softpub.dll" "C:\WINDOWS\SYSTEM"
0 file(s) copied
copy "jscript.dll" ""
0 file(s) copied
copy "msoert2.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "msoeacct.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "inetres.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "inetcomm.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "msident.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "ieuninst.exe" "C:\WINDOWS\Q330994.exe"
1 file(s) copied
copy "msoeres.dll" "Backup 9700"
1 file(s) copied
copy "msoe.dll" "Backup 9700"
1 file(s) copied
copy "oeimport.dll" "Backup 9700"
1 file(s) copied
copy "msimn.exe" "Backup 9700"
1 file(s) copied
copy "oemig50.exe" "Backup 9700"
1 file(s) copied
copy "oemiglib.dll" "Backup 9700"
1 file(s) copied
copy "wabimp.dll" "Backup 9700"
1 file(s) copied
copy "wabfind.dll" "Backup 9700"
1 file(s) copied
copy "wabmig.exe" "Backup 9700"
1 file(s) copied
copy "wab.exe" "Backup 9700"
1 file(s) copied
copy "directdb.dll" "Backup 9850"
1 file(s) copied
copy "wab32.dll" "Backup 9850"
1 file(s) copied
copy "oemiglib.dll" "Backup 9000"
1 file(s) copied
copy "inetres.dll" "Backup 9000"
1 file(s) copied
copy "msimn.exe" "Backup 9000"
1 file(s) copied
copy "wabfind.dll" "Backup 9000"
1 file(s) copied
copy "msoert2.dll" "Backup 9000"
1 file(s) copied
copy "oemig50.exe" "Backup 9000"
1 file(s) copied
copy "inetcomm.dll" "Backup 9000"
1 file(s) copied
copy "wabmig.exe" "Backup 9000"
1 file(s) copied
copy "msoeres.dll" "Backup 9000"
1 file(s) copied
copy "msoeacct.dll" "Backup 9000"
1 file(s) copied
copy "wab32.dll" "Backup 9000"
1 file(s) copied
copy "oeimport.dll" "Backup 9000"
1 file(s) copied
copy "wabimp.dll" "Backup 9000"
1 file(s) copied
copy "wab.exe" "Backup 9000"
1 file(s) copied
copy "directdb.dll" "Backup 9000"
1 file(s) copied
copy "msident.dll" "Backup 9000"
1 file(s) copied
copy "msoe.dll" "Backup 9000"
1 file(s) copied
copy "Q330994.inf" "Backup 9000"
1 file(s) copied
copy "dummy.cat" "Backup 9100\Q330994.cat"
0 file(s) copied
copy "wmp.dll" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "wm819639.inf" "C:\WINDOWS\INF"
1 file(s) copied
copy "html32.cnv" "Backup 9500\Micros~1\TextConv"
0 file(s) copied
copy "msconv97.dll" "Backup 9500\Micros~1\TextConv"
0 file(s) copied
copy "2222UN.inf" "C:\WINDOWS\INF\QFE\W98.SE\823559UN.inf"
0 file(s) copied
copy "html32.cnv" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "msconv97.dll" "C:\WINDOWS\options\cabs"
1 file(s) copied
copy "1998UN.inf" "C:\WINDOWS\INF\QFE\W98\823559UN.inf"
0 file(s) copied
copy "SHDOCVW.DLL" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "SHLWAPI.DLL" "C:\WINDOWS\SYSTEM"
0 file(s) copied
copy "URLMON.DLL" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "MSHTML.DLL" "C:\WINDOWS\SYSTEM"
1 file(s) copied
copy "ieuninst.exe" "C:\WINDOWS"
1 file(s) copied
copy "SHDOCVW.DLL" "Backup 9000"
1 file(s) copied
copy "SHLWAPI.DLL" "Backup 9000"
1 file(s) copied
copy "URLMON.DLL" "Backup 9000"
1 file(s) copied
copy "MSHTML.DLL" "Backup 9000"
1 file(s) copied
copy "dummy.cat" "Backup 9100\Q828750.cat"
0 file(s) copied

Reply 36 of 38, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Ah. None of the updates for ME renamed files or made dirs.

Also, I did it from dos dos.
Are you doing it from within Windows?
If yes, it's not going to overwrite files in use.

I'll have to check but I am pretty sure I just copied all the simple updates into the folder with the script, and ran it.
It did the extraction (which is why file order is important),and then parsed the infs.

Then because DOS DOS couldn't do reg keys in that way, I converted it into a reg file.
That's what you should see in the iso.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 37 of 38, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Nope I must have just extracted everything already.

I'll look to see if I had another script for that.

Here's the actual main part. The rest are functions.

We start off with the powershell equivalent of dir /s /b /a(date) *. Inf and assigning it to the files variable

$files=(get-childitem *.inf -recurse | sort lastwritetime)
foreach ($file in $files) {
$infname=$file.Name
$infdir=$file.directoryname
$infcontents=(get-content $file)
if ($infname -ne "QFEREG.INF") {
$infdate=(getfiledate $file)

#getsections
$sections=(getsections $infcontents)

#getstrings
$section="[Strings]"
$strings,$infcontents = (GetSectiondata $infcontents $section)
$strings = (GetReplacableVariables $strings $section)
#replace strings - most of them.
$infcontents=(ReplaceVars $infcontents $strings)
# pause
#find sourcefiles
$section="[sourcedisksfiles]"
$sourcefiles,$infcontents=(GetSectiondata $infcontents $section)
$sourcefiles=(splitfilefolder $sourcefiles "Filename" "Foldername")

#Getdests
$section="[DestinationDirs]"
$destdirs,$infcontents = (GetSectiondata $infcontents $section)
$destdirs = (splitfilefolder $destdirs "section" "Filename")

<# Set-PSDebug -Trace 1
#getsouces
$section="[SourceDisksNames]"
$sourcedirs,$infcontents = (GetSectiondata $infcontents $section)
$sourcedirs = (splitfilefolder $sourcedirs "Foldername" "Filename")#>

$section="[DefaultInstall]"
$Definstall,$infcontents=(GetSectionData $infcontents $section)
$copyfiles,$infcontents=(Getcopyfiles $infcontents $Definstall $destdirs "section" "Filename" )
$copyfiles=(fixdestdirs $copyfiles $dirnos)

#registry stuff

$allsectsregdata=@()
foreach ($section in $sections) {
if ($section -like "*addreg*") {
$regdata,$infcontents=(GetSectiondata $infcontents $section)
$allsectsregdata+=$regdata
}
}
# Set-PSDebug -Trace 2
<# foreach ($line in $allsectsregdata) {
if ($line -like "*%*%*") {
write-host moo $line
}
}#>

$regtable=(getregtable $allsectsregdata)

$copybat=(convert2bat $copyfiles)
$allcopyfiles+=$copyfiles
$allbats+=$copybat
$allreg+=$regtable
$allstrings+=$strings
} else { #if it is a qfe
#hacky but meh
$section="[register.cat]"
$catf,$infcontents = (GetSectiondata $infcontents $section)
foreach ($row in $catf) {
if ($row -like "*.cat") {
$catname, $junk=$row.split(".",2)
$catreg+="%windir%\system\SUCATREG.EXE /D:"+$catname+".cat"+$newline
}
}
}
}
$copybat=(convert2bat $allcopyfiles)
$copybat+="copy regs.bat %windir%\alluse~1\startm~1\programs\startup"
# $allreg=$allreg | Sort-Object (infdate -Descending), subkey
$allreg=$allreg | Sort-Object @{Expression="infdate";Descending=$true},@{Expression="subkey";Descending=$false}
$regbat=(reg2bat $allreg)

#$test=$copybat # +$regbat
#$copybat="set windir=c:\windows" +$newline+ $copybat
$copybat | out-file .\files.bat -encoding ascii
$catreg=$regbat+$newline +$catreg
$catreg+="del %0"
$catreg | out-file .\regs.bat -encoding ascii

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 38 of 38, by wallythander

User metadata
Rank Newbie
Rank
Newbie

I am executing it during Windows Setup, so in Windows. I think there are multiple factors causing failed copies, because it doesn't seem to copy "dummy.cat" into certain places and renaming it.

In other places, I wonder if the lack of a directory prevents the copying. C:\WINDOWS\INF\QFE seems to universally fail to get anything copied into it (the uninstall files for the updates). There is still no QFE directory in the INF folder after install. So I wonder if some of these would be resolved by simply making sure all the folders it expects to copy to are there?

I realize, some of these files are duplicative, and I notice, some of the files have modified dates that I must have accidentally hosed the originals at some point, because they are from now, not sure if that adds a significant complicating factor or not.