Jump to content

Auto-Patcher For Windows 98se (English)


Recommended Posts

Well, that is unusual, but it shouldn't be anything different --- unless you AREN'T hiding the backup primary partition from Windows (does it show up as a drive letter?)

Hmmm... more on this later, but currently the partition is *not* hidden. I can't remember how I set this up, seemed to be a bit of a trick, IIRC. I have a vague memory of trying to hide the alt PriDOS and messing things up - couldn't get it back. (It shows up as one of the last drive letters, before or after a Secondary Master physical drive I try to hide in BIOS, but which Windows finds after boot anyway.)

No, there shouldn't be ANY restriction in the order you install the modules and updates. Of course there are barriers i've put in place that will stop errors...

Great! That's what I thought.

But don't forget, this project was made for the sole purpose of allowing a COMPUTER PROGRAM to do all the work for you. Why waste time?

Yes, however once into the Auto-Patcher I suddenly realize there are several modules I know nothing about, and want to go ahead with the obvious ones. Which reminds me - I know there's a lot of info about what Auto-Patcher does, and I've skimmed it, but some people (like me) could use a quick summary of some of the modules. I don't own XP, so I have only the vaguest idea of some of the post-98SE features. I'm sure I'll find what I need to know eventually, though, so don't waste any effort - just if it's already in front of me but I can't find it.

I think its a good idea to try the Win98 to ME update on its own. Tell me how you go ... :ph34r:

Good, thanks. I'll give it a shot.

Link to comment
Share on other sites


Any chances for an Autopatcher-Kiosk edition?

The easiest way to achieve this is to automate a ghost image restore. There's no 'easy' way for me to do what you ask unless major work is involved, but it wouldn't be the best option anyway. From what I understand, you want to go back to 'pristine' each time if you want, Ghosting is the way to go --- obviously this doesn't give u the option of gradually accepting updates, but even that can be overcome by gradually building up a stable series of images, each one with additions to the program list, etc.

Unfortunately for you, AutoPatcher isn't also mascarading as AutoGhostImager !!

... but it was a nice idea though!

Anyway, v1.95 will make you happy enough i think. I just finished the essential code for the debug function and i'll be switiching it on more often than not, its very useful now (i hated it before and never used it unless it was a drastic need)... actually, why don't i give you guys a little sample ... i'm right in the middle of tweaking the text, so its not the finished product, but you'll get the idea...


-----------------
Debug log for Auto-Patcher v1.95 Preview Release 2
Saturday, 10 March 2007, 05:04:30
-----------------
--- variables ---
COMSPEC=C:\WINDOWS\COMMAND.COM
LOCATE=C:\AUTOPACH
windrive=C:
windodir=WINDOWS

Program modes:
Force re-installation mode is OFF
Undo tweaks mode is OFF
Make report mode is OFF

Now running code inside C:\AUTOPACH\CODE\RUN-MOD.BAT

variables:
LOCATE is C:\AUTOPACH
1st switch is Fullup
2nd switch is C:
3rd switch is WINDOWS
4th switch is "C:\AUTOPACH"
5th switch is
6th switch is
7th switch is

Now running code inside "C:\AUTOPACH\code\modules\Fullup.bat"
-- variables --
TRACK=Inst07
NEXT1=Inst08
FILES=DirectX

**** Now starting to run code in the DirectX 9 module

Now running code inside "C:\AUTOPACH\code\MainCode.bat"
--- variables ---
TRACK="DirectX9"
TITLE="DirectX 9.0c (December 2006)"
PARTH="Files\DirectX"
FILES="DXSETUP.bat"
FILE2=""
CHECK="C:\WINDOWS\SYSTEM\d3dx9_32.dll"
CHEC2="9.16.843.0"
CHEC3=""
CHEC4=""
USECH="FILC"
USEDP="none"
GONUM="1EXE"
ABOOT="G"
ARGUS=""C:\AUTOPACH\files\DirectX""
SKIP!=""
--- label checkpoints ---
DIALOG1 -- start to process the update
DIALOG2 -- the update has no confirmation marker set yet
DIALOG3 -- the update looks like it needs to be installed
DIALOG4 -- the update has been cleared to be installed
OKayEnd -- the update has finished installing
ExitMe -- finished processing the update
REGBOOT -- the computer is set to reboot and restart the current module

Now running code inside "C:\AUTOPACH\code\Run-Mod.bat"

variables:
LOCATE is C:\AUTOPACH
1st switch is fullup
2nd switch is C:
3rd switch is WINDOWS
4th switch is "C:\AUTOPACH"
5th switch is
6th switch is
7th switch is

Now running code inside "C:\AUTOPACH\code\modules\fullup.bat"
-- variables --
TRACK=Inst07
NEXT1=Inst08
FILES=DirectX

**** Now starting to run code in the DirectX 9 module

Now running code inside "C:\AUTOPACH\code\MainCode.bat"
--- variables ---
TRACK="DirectX9"
TITLE="DirectX 9.0c (December 2006)"
PARTH="Files\DirectX"
FILES="DXSETUP.bat"
FILE2=""
CHECK="C:\WINDOWS\SYSTEM\d3dx9_32.dll"
CHEC2="9.16.843.0"
CHEC3=""
CHEC4=""
USECH="FILC"
USEDP="none"
GONUM="1EXE"
ABOOT="G"
ARGUS=""C:\AUTOPACH\files\DirectX""
SKIP!=""
--- label checkpoints ---
DIALOG1 -- start to process the update
DIALOG2 -- the update has no confirmation marker set yet
GoFouee -- the Update was found
ExitMe -- finished processing the update

Now running code inside "C:\AUTOPACH\code\MainCode.bat"
--- variables ---
TRACK="kb904706"
TITLE="Hotfix for Vulnerability in DirectShow"
PARTH="Files\Hotfixes"
FILES="kb904706.exe"
FILE2=""
CHECK="C:\WINDOWS\system\quartz.dll"
CHEC2="6.5.1.907"
CHEC3=""
CHEC4=""
USECH="FILC"
USEDP="DX90c"
GONUM="1EXE"
ABOOT="G"
ARGUS="/Q:A /R:N"
SKIP!=""
--- label checkpoints ---
DIALOG1 -- start to process the update
DIALOG2 -- the update has no confirmation marker set yet
DIALOG3 -- the update looks like it needs to be installed
DIALOG4 -- the update has been cleared to be installed
OKayEnd -- the update has finished installing
ExitMe -- finished processing the update
HF_END -- the DirectX 9 module has completed
NoBoot -- the computer doesn't need to reboot, so start the next module

Now running code inside C:\AUTOPACH\CODE\RUN-MOD.BAT

variables:
LOCATE is C:\AUTOPACH
1st switch is fullup
2nd switch is C:
3rd switch is WINDOWS
4th switch is "C:\AUTOPACH"
5th switch is
6th switch is
7th switch is

++ The modules have all finished ++

now dumping the contents of the marker folder into this debug file
StartTim.TRA
@_Inst01.tra
@_Inst02.tra
@_Inst03.tra
@_Inst04.tra
@_Inst05.tra
@_Inst06.tra
@_NumIns.TRA
@_Inst08.tra
@_Inst09.tra
@_Inst10.tra
@_Inst11.tra
@_Inst12.tra
@_Inst13.tra
@_Inst14.tra
@_Inst15.tra
@_Inst16.tra
@_OP0201.skp
@_OP0202.skp
@_OP0203.skp
@_OP0204.skp
@_OP0205.skp
@_OP0601.skp
@_OP0602.skp
@_OP0603.skp
@_OP0604.skp
@_OP0901.skp
@_OP0902.skp
@_OP0903.skp
@_OP0904.skp
@_OP0905.skp
@_OP1401.skp
@_OP1402.skp
@_OP1403.skp
@_OP1404.skp
@_OP1405.skp
@_OP1406.skp
@_OP1407.skp
@_OP1408.skp
@_OP1409.skp
@_OP1501.skp
@_OP1502.skp
@_OP1503.skp
@_OP1504.skp
@_OP1505.skp
@_OP1506.skp
@_OP1507.skp
@_OP1601.skp
@_NumIns.REP
go_debug.txt
DirectX9.txt
mybat.reg
DirectX9.fou
kb904706.txt
@_GoBoot.tra
@_Inst07.tra

That's it! No more debug info for you, my friend... see ya later!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ps yes, the time is right, it is 5:04am and i'm still up from the night before coding away ...

Edited by soporific
Link to comment
Share on other sites

Anyway, the code is looking for version of NEGOTIAT.DLL (5.0.2195.4784) for Directory Services and i think we've already confirmed you have an older version but i could be wrong.
You are right, my version is 5.00.2195.1. If you ever manage to add third state (older/newer) to this binary detection, it would be wonderful - much less (if any) confusion.

Apologies for not being of any help lately; luckily, now there's someone really skilled that is doing a good job.

Link to comment
Share on other sites

I started again, selecting only the W98-to-ME module this time. Same result. The original files Explorer.exe User32.dll and User.exe are all renamed with a '.w98' extension. Not sure if the registry information gets updated - couldn't see anything changed in RegEdit even after doing it by hand. (I also then copied the three files from the Win98-2-ME folder. There was no obvious reason the files could not be copied by the script.)

Somehow, I didn't find the I_Result.Log when I first ran this, but anyway it ends like this after the failure:

--------------------------------------------------------------------

00:58:00 ++ the Win98-to-Me module was started

--------------------------------------------------------------------

00:58:04 -- was installed: Win982Me - The core of Win98-to-Me by MDGx

00:58:08 .. the computer was set to reboot.

So anyway, then I ran Auto-Patcher pretty much with defaults, with Win98-to-ME on 'Install' to check. It seemed happy, and the other updates seemed to install fine. Generated a report afterward which seems as expected.

I think another user may have also noticed this, but I have a long delay after login after booting - about 10 seconds.

I'd be happy to help test the Win98-to-ME issues on this system, but for now it looks like it's solved for me. I still want to try to learn more about some of the updates and options, and I'm curious about some of your reasons for the default install/bypass setup.

Link to comment
Share on other sites

I think another user may have also noticed this, but I have a long delay after login after booting - about 10 seconds.

Yeah, i guess this is a result of updating ... i have no idea what Microsoft is doing with their latest stuff, they've added some detection routines when starting up Windows to see what you've got before loading the desktop, i dunno. But i would expect a different feel to how the computer boots up. For example, one of the most common tools i use is "Install Watch" which tells me exactly what got installed so i can see how to code for it. When i run it on a newly re-installed Win98se OS, the snapshot hardly takes anytime at all to create --- there's hardly any files on your machine, and not many registry entries to sort through. If i do the same after a full auto-patch, it takes 5 to 10 times longer to create the snapshot, especially if you also have .Netframework installed. If you had to choose between a machine that booted faster, or one that had everything you needed for computing in 2007, which would you choose?

Edited by soporific
Link to comment
Share on other sites

Yeah, i guess this is a result of updating ... i have no idea what Microsoft is doing with their latest stuff, they've added some detection routines when starting up Windows to see what you've got before loading the desktop, i dunno. [...] If you had to choose between a machine that booted faster, or one that had everything you needed for computing in 2007, which would you choose?

Quite right. I still can't get over how many updates are packed into this thing! As you say, it may be cumulative, so no wonder.

I once spent many weeks trying to assimilate the best advice on Win95 updates from places like Walbeehm's System Updates page, and it was only about a tenth of what is involved here. Thanks again for all your efforts.

Link to comment
Share on other sites

latest news: i was going thru my final tests of the file i was going to upload as v1.95 ... and discovered a few things ...

* one of them is that to regularly access Windows Update, i have to use the WU_fix i made, and also make use of both options ... i'd prefer to fix it and make it STAY fixed ... we need to do more work it seems, thanks a bunch microsoft...

* the good news is i've finally cracked the false Windows Updates problem ... the answer was inside the hotfixes all along ... i've still yet to tame the cumulative updates but that's 5 red herrings solved, just 2 to go ... so the release will be delayed for a bit ...

Link to comment
Share on other sites

* the good news is i've finally cracked the false Windows Updates problem ... the answer was inside the hotfixes all along ...
Can you post more details about what's wrong with WU access, and eventually how you fixed it [REG entries, DLLs, roots update problems etc]?

I've also noticed that WU/WUC can't be accessed unless one reinstalls the newest roots update over and over whenever WU/WUC sites don't work???

Thanks.

Link to comment
Share on other sites

A quick note about my earlier report on the Win98-2-ME module: I mumbled something about not seeing changes in the registry - didn't realize those Keys are *deleted* so never mind. Also, I thought my failure to remove my SCSI Zip drive from the system might have caused the trouble, but another try without it produced the same failure. Oh well.

Onward... I'm wondering if there's anything alarming about the message "Locate error - user variable not found" during the installation of q301540 - 'Unofficial fix for bug in Installable File System Manager' - in the Critical System Hotfixes Pack.

I've run Auto-Patcher a number of times and wanted to give some further feedback per your request. In general, I think the level of information during the Auto-Patcher execution is about right, but the log could alternatively be more informative if there's more info to be provided. I still would like to find some citation for some of the unofficial fixes - some of the descriptions are pretty vague. The option 'Tweaks for Fast Computers' leaves me wondering what is considered 'fast', though I particularly doubt my 933 MHz PIII is one. ;-) At least those tweaks can be investigated, but I don't see any place a user can evaluate benefits or advisability. Also I'm curious about the 48BitLBA patch as this has been a thorny problem for 98, and a fix might need some thorough testing to be safe. (With another solution I've tried, the drive still must have partitions smaller than 137GB.)

So, regarding the official patches, I'm just slightly concerned about the advisability of installing everything regardless of symptoms or relevant hardware, but I'm only an obsessive user, no real understanding of this stuff. The update for LS120 drives, for instance. MS says on a lot of these updates not to install unless the system exhibits the particular problem mentioned, but maybe that's just boilerplate language. I don't have an LS120 drive, for this example.

Similarly, I wonder about q323455 - 'Directory Services Client Update for Windows 98' - in the Critical System Hotfixes Pack. *That's* the update which seems to be the reason for the ten-second delay after login, and the information page lists a lot of symptoms cured by various components, but I don't see any pertinent to me.

Anyway, I'm just asking. I know you primarily intend this as a click-and-forget installer, but even for someone who wants to understand everything that's going on, this is a really nice package to have it all in one place. (I finally decided I wanted to defer some of this, like the WMP stuff, and just have the 'critical' stuff nailed down, hence my interest in installing some modules later.) If appropriate (I don't know) it might be nice to have a few more toggle options for some of the modules (though it's not hard to skip certain updates by editing the .bat files.)

Thanks again for all your work. Maybe the documentation I'm hoping for is asking too much, but perhaps other users can chime in with comments for a FAQ.

Link to comment
Share on other sites

Can you post more details about what's wrong with WU access, and eventually how you fixed it [REG entries, DLLs, roots update problems etc]?

I've also noticed that WU/WUC can't be accessed unless one reinstalls the newest roots update over and over whenever WU/WUC sites don't work???

the bit about solving the false alarms refers to the 7 updates that WU reckons you haven't got installed after fully auto-patching. The list is now only 2: the kb891711 update (which i tell people that the unoffical update is better), and also the last official cumulative update for IE6 (kb916281), which is just not going to play well, ever it seems.

Regarding the Windows Update problem, that discussion is better had in the proper thread (there's a few, i'm referring to the one i started). I'll post more info there.

A quick note about my earlier report on the Win98-2-ME module: I mumbled something about not seeing changes in the registry - didn't realize those Keys are *deleted* so never mind. Also, I thought my failure to remove my SCSI Zip drive from the system might have caused the trouble, but another try without it produced the same failure. Oh well.

type this at the command line for me can you:

ECHO Y> "%windir%\wininit.ini"

and tell me if you get any error messages ...

Onward... I'm wondering if there's anything alarming about the message "Locate error - user variable not found" during the installation of q301540 - 'Unofficial fix for bug in Installable File System Manager' - in the Critical System Hotfixes Pack.

That's a known bug related to the fact that one of my variables is %LOCATE% which clashes with the LOCATE.COM utility which clears a variable called LOCATE at some stage. This was recently discovered by Submix8c and is now fixed in the next version.

I've run Auto-Patcher a number of times and wanted to give some further feedback per your request. In general, I think the level of information during the Auto-Patcher execution is about right, but the log could alternatively be more informative if there's more info to be provided.

This is where the debug mode comes in. Maybe I should change the name from Debug mode, to Verbose mode. Actually, i will. i've posted a version of the log that is produced. Please comment about whether that has enough info!

I still would like to find some citation for some of the unofficial fixes - some of the descriptions are pretty vague. The option 'Tweaks for Fast Computers' leaves me wondering what is considered 'fast', though I particularly doubt my 933 MHz PIII is one.

This is good, you are picking me up on everything that i've improved for the next version. There is no more "Tweaks for Fast Computers" - i have included a version of AutoSYSTEMini instead that tells you EVERYTHING about the settings you can configure. Talk about overkill. Have you checked out AutoSYSTEMini? its up to v0.54!!

Also I'm curious about the 48BitLBA patch as this has been a thorny problem for 98, and a fix might need some thorough testing to be safe. (With another solution I've tried, the drive still must have partitions smaller than 137GB.)

Most of these unofficial updates have threads that contain all the discussion about testing, bugs, etc. 48BitLBA has been around for a while and is considered pretty stable these days. The thread can be found here: http://www.msfn.org/board/index.php?showtopic=78592

... The update for LS120 drives, for instance. MS says on a lot of these updates not to install unless the system exhibits the particular problem mentioned, but maybe that's just boilerplate language. I don't have an LS120 drive, for this example.

MS says that for EVERY update! We live in a world where a company like MS provides information so they don't get sued, as opposed to providing information that is precise and correct. Makes me rather angry and uptight is what it does ... anyway, my philosophy is that an update becomes OPTIONAL if it is possible that installing it could cause problems.

Similarly, I wonder about q323455 - 'Directory Services Client Update for Windows 98' - in the Critical System Hotfixes Pack. *That's* the update which seems to be the reason for the ten-second delay after login, and the information page lists a lot of symptoms cured by various components, but I don't see any pertinent to me.

Yeah, this one has been known to cause funny things to happen. I hadn't noticed that this is the cause of the 10 second delay --- maybe its a good reason to turn it into an optional install so you can by-pass it. Don't forget, this program is SO easy to edit for your own purposes. If you don't want anything in any modules, you can just cut it out ... (i can provide more info about how to do this if you need) -- the installs aren't linked together so you won't break anything by taking the odd hotfix out. You can definitely take out q323455.

Thanks again for all your work. Maybe the documentation I'm hoping for is asking too much, but perhaps other users can chime in with comments for a FAQ.

I'm always adding to the information, but i've been staring at this project for so long now that its hard for me to get a fresh perspective -- i will eventually get around to updating the list of Auto-Patcher contents, but apart from that, what more could we do? Maybe point people to the complete updates list that i maintain --- that one page has all the download links and info links for all the updates currently available. I should add a link to the main page ... good idea 99.

Edited by soporific
Link to comment
Share on other sites

Soporific et-al :hello: :

Well, this bites... I posted a reply, then found out I wasn't logged in ("post saved", but where?). SO, here I go again...

What I found (re: WU "Not Installed")

------ Begin notes:

1) Cumulative Security Update for Internet Explorer 6 Service Pack 1 (KB916281)

***** MUST INSTALL THIS ONE ALWAYS AFTER IE6SP1 and BEFORE unofficial KB925454 *****

- Unofficial KB925454 is NEWER (and is XPSP2) + includes pgm NIRCMD.EXE (nifty!)!

2) Security Update for Windows 98 (KB891711)

***** MUST INSTALL THIS ONE ALWAYS BEFORE u891711 *****

- Unofficial version has NEWER versions (WHERE DID THIS PATCH COME FROM?)!

3) Windows Share Level Password Update (Q273991)

***** MUST INSTALL THIS ONE ALWAYS BEFORE Q273727 ! *****

- Installed correct version with Q273727 !

4) Q323172: Security Update (Windows 98)

***** MUST INSTALL THIS ONE ALWAYS BEFORE IE6SP1 ! *****

- Installed correct version with IE6SP1 !

*********** GET THESE TWO ***************

5) Security Update, May 19, 2000 (Q259728)

***** MUST INSTALL THIS ONE ALWAYS BEFORE Q238543 / Q269388 ! *****

-- Q238543 (older)

-- Q269388 (THIS ONE installed) STUPID MS same module!

-- ** q238453/q269388 - Hotfix for Spoofed Route Pointer Vulnerability (per AutoPatch)

http://download.microsoft.com/download/win.../259728USA8.EXE

6) Security Update, March 17, 2000 (Q256015)

***** MUST INSTALL THIS ONE ALWAYS BEFORE Q273017 / (?q301540?) ! *****

-- Q273017 (THIS ONE installed) STUPID MS same module!

-- IDE Hard Drive Cache Package for Windows 98se

-- http://support.microsoft.com/kb/273017

-- Q301540 (UNOFFICIAL newer dates / NOT INSTALLED)

http://download.microsoft.com/download/win.../256015USA8.EXE

=== Recommended Updates ===

1) Internet Explorer Navigation Sound Update

http://support.microsoft.com/kb/319303

says to install latest IE Service Pack (applies to IE 6.0)?

http://support.microsoft.com/kb/327922 (says go to Windows Update?)

(go ahead and download it; I have it stored away; you can too)

2) Mapped Drives Shutdown Update

***** MUST INSTALL THIS ONE ALWAYS BEFORE WIN982ME / (?KB239887?) ! *****

http://download.windowsupdate.com/msdownlo...rtf/en/3662.htm

- also see: http://support.microsoft.com/kb/260067

http://download.microsoft.com/download/win.../260067USA8.EXE

3) Microsoft .NET Framework version 1.1 (IRRELEVANT)

4) Windows Critical Update Notification 4.0 (IRRELEVANT)

5) Euro Conversion Tool (IRRELEVANT, unless you want it)

=== Internet and Multimedia Updates ===

1) Agent 2.0 ! Irrelevant (applies to Merlin, etc.) !

------ Endof notes:

Sound familiar? Those that are NOT INSTALLED are because of Registry enries that are MISSING!

BTW, I know we discussed this :whistle: but I have found some interesting tools:

4DOS package - a great COMMAND.COM (comspec) replacement; LOTS of embedded functions!

GETEL.BAT - returns a "display-able" ERRORLEVEL ("GOTO LABEL%ERRORLEVEL%")

FINDCD.COM - returns the CD-Drive

These are free and legit (from reputable sources). I have done rudimentary testing and they are fine.

The purpose I intend for them is to modify AutoPatch v1.95 (whenever you are finished) so that it will:

1) "Generi-size" the Batch modules by utilizing Tables for Menus and Modules-to-install-per-selection

2) Introduce OtherThan "C:" drive installation

3) Allow for "Run From CD"

Why?

* Because it will be cleaner and allow for better HDD utilisation

* Because I can

(yep, I'm an IBM Mainframe Systems/Applications Installer/Programmer/Analyst/Maintainer, bored due to "who wants one? go find another job!". Need a good Mainframe Geek?)

Besides, these old honkers I plan on giving away also need Spyware/Adware/Virus killers and a good Firewall (free from the internet) and my intent is to give a single CD so I can say "NO SUPPORT, You have everything you need". And, in case you didn't notice, if you do a Clean Install (Fisk, Format, Copy WIN98 to Win/Opts/Cabs) then apply patches, it is considered an OEM PC and places copies of update modules in THAT folder AS WELL!

Test environment:

AMD Duron 1.3G

512MB Ram

Virtual PC 2004 (for Win98SE testing)

- VM 64MB RAM, 2GB HDD 1.22 GB used / 788 MB free (wowee!!! Clean Install???)

Don't leave a lot for those MP3's and that Outlook Express Mailbox if you store a lot (BETTER have a burner!). AND for those po-folk who have older OEM boxes that must re-install using Restore disks on a low-end HDD and no burner... well... gefudged! (You don't think I'm gonna give away MY HDD's, do ya?)

SO (whew!), keep up the great work :thumbup ! Patiently awaiting v1.95 so I can rip IT up instead of repeating the work on BOTH 1.92 AND 1.95!

P.S. Kudos to all participants ;)

Edited by submix8c
Link to comment
Share on other sites

What I found (re: WU "Not Installed")

------ Begin notes:

------ Endof notes:

these are already fixed ... 323172, 256015, Q273991, kb981711, kb837009, 260067,

these are already included: IE Navigation Sound Update, Euro Conversion Tool

I HAVE to get v1.95 released !! ... I will comment on the rest soon ...

(and thanks for the sticky !!!)

EDIT: OK, below is the list of REG entries that are run to restore missing hotfix info and make WU happy. If the hotfix that superceeded the "missing" update was installed at some point during an AP session, then the REG file with the same name is run. eg the reg info for q259728 which was superceeded by q269388 is installed via the q269388.reg file (see below) - there are only 2 at this point, i was able to fix q323172 and q260067 properly.


REGEDIT4

[q269388.reg]
; this restores the hotfix info for q259728. We use q269388 because this is what superceeded it.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{9664fac0-26c5-11d4-a58a-00902766e933}]
@="Windows 98 Second Edition Q259728 Update"
"IsInstalled"=dword:00000001
"Locale"="EN"
"Version"="4.10.0.2222"

[q273017.reg]
; this re-installs the hotfix info for q256015
; we use q273017 because this is what superceeded it.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{4ed033a1-6334-4415-9089-bcabcc0b32f5}]
@="Windows 98 Second Edition Q256015 Update"
"IsInstalled"=dword:00000001
"Locale"="EN"
"Version"="4.10.0.2222"

Yes, i think its best to wait for 1.95 otherwise you are re-doing all my work from 1.92 to 1.95. What you can do is help me get from "Preview Release 2" to "Final".

EDIT2: and in other news, i have cracked the DUN14 hotfix ... well, cracked it with AutoIT anyways ... so, it's finally going into AP proper, and we can avoid that false start when you first choose to AutoPatch. IF you would like to have a switchless and unattended installer for DUN 1.4 - grab it from here.

Edited by soporific
Link to comment
Share on other sites

soporific et-al :hello: :

Congrats on the DUN1.4 fix! :thumbup Havent downloaded/tested, but I can trust it's all good!!

On a side note (kinda), got some more ".bat" info that may help clean up the modules (gotta love me!).

Here is a "lengthy" (not that bad) test module; read it; some is good, some you may ignore...

@ECHO OFF
:::::::::::: From STARTPCH.BAT
:: I look for a different module because I use a more efficient method..
:: IF NOT EXIST .\bin\ASET.exe goto aPROBLEM
IF NOT EXIST .\bin\NSET.com goto aPROBLEM
goto GoSTART

:aPROBLEM
echo.
echo. Hi there. The program can't continue (ya-dee-yah...)
echo.
echo. Please press any key to exit ...
PAUSE >nul
goto END

:GoSTART
:: This gets the Where-I-Execute-From-directory...
:: Notice how a SINGLE INSTRUCTION LINE will DIRECTLY set %LOCATE%
:: This is more dependable because I can navigate to the primary folder
:: in a DOS box and it STILL WORKS (old method gets NULL(?) value)
:: .\bin\ASET LOCATE := FPATH('%0')
:: .\bin\ASET TP := LEN('%LOCATE%')-1
:: .\bin\ASET LOCATE := LEFT('%LOCATE%',%TP%)
:: SET TP=
CD | ".\BIN\NSET" LOCATE=$1

:::::::::::: From AUTOPACH.BAT ; %LOCATE% is now "x:\folder"
:: check for necessary program files
FOR %%! in (ASET.EXE GETVER.EXE NSET.COM) DO IF NOT EXIST "%LOCATE%\bin\%%!" goto MISSING
:: I added these (It adds two more and includes LOCATE.COM as well...)
FOR %%! in (GETEL.BAT FINDCD.COM LOCATE.COM) DO IF NOT EXIST "%LOCATE%\bin\%%!" goto MISSING

:: =========
GOTO GOTEMALL
:MISSING
echo. MISSING error (BTW, the label ":MISSING" is MISSING...)
goto aPROBLEM
:GOTEMALL
:: =================== A LITTLE NEW CODE FROM HERE DOWN =================
:: This gets both the Windows-drive and the Where-I-Execute-From-drive...
:: Notice how the first two instructions will DIRECTLY set %windrive%
SET HDD=%windir%
"%LOCATE%\BIN\ASET" HDD := LEFT('%HDD%',2)
"%LOCATE%\BIN\ASET" IAM := LEFT('%LOCATE%',2)
GOTO MAIN1

:MAIN0
::: junk... commented out
::: CALL "%LOCATE%\TESTX"
:::
ECHO. Wanna go again? (y or n)
choice>nul /c:yn /n
:: This translates the ERRORLEVEL to something useable (binary to ASCII)...
:: Convenient if you are using Structured Programming....
:: Useable in your routines??? (My intent for modifying v1.95!!!)
:: Notice this is a "CALL"; that means it WILL return TO NEXT INSTRUCTION!
:: (as long as CALL'ed does NOT "EXIT"!
CALL "%LOCATE%\BIN\GETEL"
:: Notice the usage of ERRORLEVEL in branching...
:: No "IF" Statements for ERRORLEVEL Here!
GOTO MAIN%ERRORLEVEL%

::::: Branch-to for Response=Y
:MAIN1
:: This gets a response from User into a variable...
:: Used in this test to find the CD-Rom that we need (via FINDCD)...
:: ANY name can be give, but MUST include the PATH (case NOT sensitive)!
:: example 1: SETUP.EXE <--on root
:: example 2: WIN98\OEMSETUP.EXE <--in Win98
Echo. Enter a Filename to find:
"%LOCATE%\BIN\NSET" CDN=$0
IF "%CDN%"=="" GOTO MAIN1
GOTO FINDNAM

::::: Branch-to for Response=N
:MAIN2
:: Clears remaining vars, then exits...
SET LOCATE=
SET HDD=
SET IAM=
SET CDN=
SET CDD=
SET ERRORLEVEL=
SET CMDLINE=
GOTO END

:FINDNAM
:: This attempts to find filename then sets where found (if at all)...
SET CDD=
"%LOCATE%\BIN\FINDCD" -f\%CDN% | "%LOCATE%\BIN\NSET" CDD=$1
"%LOCATE%\BIN\FINDCD" -f\%CDN% -e
CALL "%LOCATE%\BIN\GETEL"
IF "%ERRORLEVEL%"=="254" GOTO MAIN254
:: GOTO MAIN%ERRORLEVEL%

SET CDD=%CDD%:
ECHO. CD-Rom %CDD% found Finding %CDN%; HDD=%HDD% IAM=%IAM% LOCATE=%LOCATE%
GOTO MAIN0

:MAIN254
ECHO. CD-Rom not found Finding %CDN%; HDD=%HDD% IAM=%IAM% LOCATE=%LOCATE%
GOTO MAIN0
:::::::::::::::::::: DOS-window Test Result ::::::::::::::::::::::::
Microsoft® Windows 98
©Copyright Microsoft Corp 1981-1999.

C:\WINDOWS>cd ..\_findcd

C:\_findcd>test
Enter a Filename to find:
x
CD-Rom not found Finding x; HDD=C: IAM=C: LOCATE=C:\_findcd
Wanna go again? (y or n)
Enter a Filename to find:
win98\oemsetup.exe
CD-Rom D: found Finding win98\oemsetup.exe; HDD=C: IAM=C: LOCATE=C:\_findcd
Wanna go again? (y or n)
C:\_findcd>
++++ end of test output...
----- Notes on FINDCD.COM: -----
[url="http://www.nu2.nu/download.php?sFile=findcd.zip"]http://www.nu2.nu/download.php?sFile=findcd.zip[/url]
Usage: findcd <option>
Option: -a All CD-Rom drive letters
-r Ready CD-Rom drive letters (with media)
-f<file> CD-Rom drive letters containing
sample: findcd -f\i386\setupldr.bin
-e Return errorlevel only
Returns errorlevel:
255: When CD-Rom extensions (MSCDEX) are not loaded
254: No drive(s) found
0-25: Drive letter of first CD-Rom (0=A, 1=B, ...)
----- Notes on GETEL.BAT: -----
[url="http://www.fpschultze.de/smartfaq+faq.faqid+56.htm"]http://www.fpschultze.de/smartfaq+faq.faqid+56.htm[/url]
(provides the link to source and further info... VERY compact!)
Just "CALL" it... whatever was there will be translated...
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
BTW, "EXIT" goes COMPLETELY out of a module...
... also notice everything from last "GOTO MAIN0" to here
... (including the following "EXIT") is NOT GOING TO BE Syntaxed-out
... since they are NOT IN THE IN-STREAM CODE!!!
... Most script languages are generally considered "Compile/Load/Go",
.. similar to mainframe REXX (also availiable for PC), TSO, ISPF
EXIT.
:END

Also, GETEL.BAT has a good example of a FAST way to determine NOT-9x/ME...

(the afore-mentioned 4DOS also caught syntax errors previously not trapped...)

Hope this helps... B) l8tr... (gotta put more STUB code to test TABLE/Generic into this...)

P.S. don't forget to take some time out to relax to some tuneage; clears the peanut out!

Edited by submix8c
Link to comment
Share on other sites

soporific et-al :hello: :

Congrats on the DUN1.4 fix! :thumbup Havent downloaded/tested, but I can trust it's all good!!

On a side note (kinda), got some more ".bat" info that may help clean up the modules (gotta love me!).

Here is a "lengthy" (not that bad) test module; read it; some is good, some you may ignore...

@ECHO OFF
:::::::::::: From STARTPCH.BAT
:: I look for a different module because I use a more efficient method..
:: IF NOT EXIST .\bin\ASET.exe goto aPROBLEM
IF NOT EXIST .\bin\NSET.com goto aPROBLEM
goto GoSTART

:aPROBLEM
echo.
echo. Hi there. The program can't continue (ya-dee-yah...)
echo.
echo. Please press any key to exit ...
PAUSE >nul
goto END

:GoSTART
:: This gets the Where-I-Execute-From-directory...
:: Notice how a SINGLE INSTRUCTION LINE will DIRECTLY set %LOCATE%
:: This is more dependable because I can navigate to the primary folder
:: in a DOS box and it STILL WORKS (old method gets NULL(?) value)
:: .\bin\ASET LOCATE := FPATH('%0')
:: .\bin\ASET TP := LEN('%LOCATE%')-1
:: .\bin\ASET LOCATE := LEFT('%LOCATE%',%TP%)
:: SET TP=
CD | ".\BIN\NSET" LOCATE=$1

:::::::::::: From AUTOPACH.BAT ; %LOCATE% is now "x:\folder"
:: check for necessary program files
FOR %%! in (ASET.EXE GETVER.EXE NSET.COM) DO IF NOT EXIST "%LOCATE%\bin\%%!" goto MISSING
:: I added these (It adds two more and includes LOCATE.COM as well...)
FOR %%! in (GETEL.BAT FINDCD.COM LOCATE.COM) DO IF NOT EXIST "%LOCATE%\bin\%%!" goto MISSING

:: =========
GOTO GOTEMALL
:MISSING
echo. MISSING error (BTW, the label ":MISSING" is MISSING...)
goto aPROBLEM
:GOTEMALL
:: =================== A LITTLE NEW CODE FROM HERE DOWN =================
:: This gets both the Windows-drive and the Where-I-Execute-From-drive...
:: Notice how the first two instructions will DIRECTLY set %windrive%
SET HDD=%windir%
"%LOCATE%\BIN\ASET" HDD := LEFT('%HDD%',2)
"%LOCATE%\BIN\ASET" IAM := LEFT('%LOCATE%',2)
GOTO MAIN1

:MAIN0
::: junk... commented out
::: CALL "%LOCATE%\TESTX"
:::
ECHO. Wanna go again? (y or n)
choice>nul /c:yn /n
:: This translates the ERRORLEVEL to something useable (binary to ASCII)...
:: Convenient if you are using Structured Programming....
:: Useable in your routines??? (My intent for modifying v1.95!!!)
:: Notice this is a "CALL"; that means it WILL return TO NEXT INSTRUCTION!
:: (as long as CALL'ed does NOT "EXIT"!
CALL "%LOCATE%\BIN\GETEL"
:: Notice the usage of ERRORLEVEL in branching...
:: No "IF" Statements for ERRORLEVEL Here!
GOTO MAIN%ERRORLEVEL%

::::: Branch-to for Response=Y
:MAIN1
:: This gets a response from User into a variable...
:: Used in this test to find the CD-Rom that we need (via FINDCD)...
:: ANY name can be give, but MUST include the PATH (case NOT sensitive)!
:: example 1: SETUP.EXE <--on root
:: example 2: WIN98\OEMSETUP.EXE <--in Win98
Echo. Enter a Filename to find:
"%LOCATE%\BIN\NSET" CDN=$0
IF "%CDN%"=="" GOTO MAIN1
GOTO FINDNAM

::::: Branch-to for Response=N
:MAIN2
:: Clears remaining vars, then exits...
SET LOCATE=
SET HDD=
SET IAM=
SET CDN=
SET CDD=
SET ERRORLEVEL=
SET CMDLINE=
GOTO END

:FINDNAM
:: This attempts to find filename then sets where found (if at all)...
SET CDD=
"%LOCATE%\BIN\FINDCD" -f\%CDN% | "%LOCATE%\BIN\NSET" CDD=$1
"%LOCATE%\BIN\FINDCD" -f\%CDN% -e
CALL "%LOCATE%\BIN\GETEL"
IF "%ERRORLEVEL%"=="254" GOTO MAIN254
:: GOTO MAIN%ERRORLEVEL%

SET CDD=%CDD%:
ECHO. CD-Rom %CDD% found Finding %CDN%; HDD=%HDD% IAM=%IAM% LOCATE=%LOCATE%
GOTO MAIN0

:MAIN254
ECHO. CD-Rom not found Finding %CDN%; HDD=%HDD% IAM=%IAM% LOCATE=%LOCATE%
GOTO MAIN0
:::::::::::::::::::: DOS-window Test Result ::::::::::::::::::::::::
Microsoft® Windows 98
©Copyright Microsoft Corp 1981-1999.

C:\WINDOWS>cd ..\_findcd

C:\_findcd>test
Enter a Filename to find:
x
CD-Rom not found Finding x; HDD=C: IAM=C: LOCATE=C:\_findcd
Wanna go again? (y or n)
Enter a Filename to find:
win98\oemsetup.exe
CD-Rom D: found Finding win98\oemsetup.exe; HDD=C: IAM=C: LOCATE=C:\_findcd
Wanna go again? (y or n)
C:\_findcd>
++++ end of test output...
----- Notes on FINDCD.COM: -----
[url="http://www.nu2.nu/download.php?sFile=findcd.zip"]http://www.nu2.nu/download.php?sFile=findcd.zip[/url]
Usage: findcd <option>
Option: -a All CD-Rom drive letters
-r Ready CD-Rom drive letters (with media)
-f<file> CD-Rom drive letters containing
sample: findcd -f\i386\setupldr.bin
-e Return errorlevel only
Returns errorlevel:
255: When CD-Rom extensions (MSCDEX) are not loaded
254: No drive(s) found
0-25: Drive letter of first CD-Rom (0=A, 1=B, ...)
----- Notes on GETEL.BAT: -----
[url="http://www.fpschultze.de/smartfaq+faq.faqid+56.htm"]http://www.fpschultze.de/smartfaq+faq.faqid+56.htm[/url]
(provides the link to source and further info... VERY compact!)
Just "CALL" it... whatever was there will be translated...
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
BTW, "EXIT" goes COMPLETELY out of a module...
... also notice everything from last "GOTO MAIN0" to here
... (including the following "EXIT") is NOT GOING TO BE Syntaxed-out
... since they are NOT IN THE IN-STREAM CODE!!!
... Most script languages are generally considered "Compile/Load/Go",
.. similar to mainframe REXX (also availiable for PC), TSO, ISPF
EXIT.
:END

Also, GETEL.BAT has a good example of a FAST way to determine NOT-9x/ME...

(the afore-mentioned 4DOS also caught syntax errors previously not trapped...)

Hope this helps... B) l8tr... (gotta put more STUB code to test TABLE/Generic into this...)

P.S. don't forget to take some time out to relax to some tuneage; clears the peanut out!

Wow, that's quite a bit of info for me to wade thru ... it's definitely better if I release v1.95 as it is (working of course) -- with a note for 4DOS users that they will be looked after finally in the next version. But it looks like we're gonna be making lots of improvements ... i definitely will benefit from all these DOS tips ... i'm really bad in some areas eg. directory navigation, paths, and also if i find a method that works, i usually go with that rather than find the "best" method. But keep on keeping on with this stream of info ... lots to wade thru ...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...