Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


sp193

Shell 95 Update Project (SH95UPD)

Recommended Posts

I tried to rerunning the IE6 installer also updated to latest 2.8 SP, still doesn't run. You wouldn't happen to have that IE radicator file handy would you? :) Also is there some way I could just hack SHELL32 and try to have it report another version? I couldn't find the "4.72.3612" string in there anywhere...

Share this post


Link to post
Share on other sites

Posted a link to LitePC's site where IEradicator 2001 is hosted at on the 1st post.

You can't hack the version number, as it's not a string, but an array of variables hard coded into SHELL32 after SH95UPD is installed (Unless you use a disassembler to check where it's offset is).

But I've more or less comfirmed this theoritically: The version number should NOT confuse any program anymore (i think that the one in v0.0.7 did). If it does... then some other function added by SH95UPD is broken, or some incompatible function in the Windows 95 SHELL32.dll was called (e.g. Export ordinal 194).

All modifications that uses/modifies the Windows SHELL32.dll must be installed on top of SH95UPD. Failure to do so may result in some strange, unwanted behaviour. This applies even when upgrading SH95UPD to a newer version.

The bottom line: SH95UPD must always be installed below all modifications that are linked/dependent on SHELL32.dll. This means that you have to uninstall all modifications installed on top of SH95UPD before uninstalling/upgrading SH95UPD.

example:

If I want to upgrade SH95UPD v0.0.6 to 0.0.7A but I have KernelEx installed over it:

I have to:

1. Uninstall KernelEx (And any other modifications that are linked to SHELL32.dll) and reboot.

2. Uinstall SH95UPD and reboot.

3. Install the new SH95UPD and reboot.

4. Re-install KernelEx and other modifications you wish to have.

I know that this is just a blind guess... but I just want to be sure that you really did NOT break your system by upgrading SH95UPD (You mentioned that you found a old version there before upgrading)... and that there really is a major issue caused by SH95UPD.

Tips for those who experience crashed with certain programs after installing KernelEx: Make sure that the "Disable KernelEx Extensions" is checked for that program in question. This applies exclusively to programs that experience crashes that are related with UNICOWS.dll.

I used SH95UPD to patch the 98lite Sleek-installed SHELL32.DLL, and then installed MDGx's 98SE2ME. Your patch made the workaround documented here unnecessary

Good to know that my software has helped you. Thanks for your feedback.

Also just FYI, there's an unofficial v4.00.953 EXPLORER.EXE that incorporates Dr Hoiby's 256 Colour Icons patch:

I use the hacks listed at his site. I didn't download his pre-hacked version... but modified EXPLORER myself.

The installation went without any important hitches (there was a WinOldAp error at the end of the extraction of ME files, which seemed to be a failure in the reboot routine. A manual reboot was all that was needed for the installation to continue as normal).

Interesting... I thought that the reboot routine was fool-proof. However, since it's a "WinOldApp" error... I got a feeling that the SHExitWindowsEx function introduced by SH95UPD is responsible. Could you please provide a screenshot, or post here the entire error message contents?

Somehow I think that a "WinOldApp" error actually means that the MS-DOS console subsystem in your system had encountered an error... but the SHELL32 functions do not use a MS-DOS console window...

Hence I somehow think that it was 98SE2ME's setup that had a problem. Someone correct me if my hypothesis here is incorrect...

Offtopic:

Thanks to all who were concerned about my exams. I did my best, and the exams were so-so. Right now I can have fun while waiting for the release of my results next year...

However, now I have to live with the "normal" loading speed that comes with Windows NT 6.1..... I'm going to miss my Win98 installation. (More on what I mean here is on the 1st post).

I found a old Windows 98SE (Japan locale) installation on a old laptop's HDD, but I can't boot it from my laptop's USB connection as this laptop has WAY too much RAM for Windows 98 to handle. :(

I tried adjusting the page file sizes...but the notorious "Out of memory" error message that occurs at startup keeps appearing. Guess that 3GB of RAM can really doom a Windows 98SE installation.

Edited by sp193

Share this post


Link to post
Share on other sites
I found a old Windows 98SE (Japan locale) installation on a old laptop's HDD, but I can't boot it from my laptop's USB connection as this laptop has WAY too much RAM for Windows 98 to handle. :(

I tried adjusting the page file sizes...but the notorious "Out of memory" error message that occurs at startup keeps appearing. Guess that 3GB of RAM can really doom a Windows 98SE installation.

Windows 98, 98SE and ME does work with 3GB of RAM but you will need the Patch I wrote to support it. The only alternative is to limit the amount of memory that Windows 9X sees.

Share this post


Link to post
Share on other sites
Guess that 3GB of RAM can really doom a Windows 98SE installation.

Windows 98, 98SE and ME does work with 3GB of RAM but you will need the Patch I wrote to support it. The only alternative is to limit the amount of memory that Windows 9X sees.

RLoew is right! That's the way to go. It's possible to use 3GB or even more. See my > 1 GiB list, for which a link is in my signature. I use RLoew's RAM Limitation Patch and so does Dave-H, and we're both very satisfied customers.

Then again, be advised that to boot Win 9x from USB is not a trivial task, either.

Share this post


Link to post
Share on other sites
Then again, be advised that to boot Win 9x from USB is not a trivial task, either.

Booting Windows 9X from USB is not very hard.

The following procedure will install Windows 9X on a USB Drive.

1. Set your BIOS to disable other Hard Drives and boot from CD.

2. Attach USB Drive or Key.

3. Insert Windows CD.

4. Boot.

5. Install Windows to the USB Drive.

6. When Disk Access Error Messages appear, press RESET.

7. Boot into Safe Mode.

8. Disable all USB drivers.

9. Reboot.

10. Continue installation.

Share this post


Link to post
Share on other sites
Booting Windows 9X from USB is not very hard.

The following procedure will install Windows 9X on a USB Drive.

1. Set your BIOS to disable other Hard Drives and boot from CD.

2. Attach USB Drive or Key.

3. Insert Windows CD.

4. Boot.

5. Install Windows to the USB Drive.

6. When Disk Access Error Messages appear, press RESET.

7. Boot into Safe Mode.

8. Disable all USB drivers.

9. Reboot.

10. Continue installation.

Thanks guys, but I won't be able to try that any time soon. My HDD case got wrecked (USB port got ripped off, and I can't solder it back on), and I won't be getting a replacement as that HDD is just too old, too small and I don't have $$$. Not to mention that it may already have suffered damage from my PC's faulty USB 2.0 hardware (It just seems to be the cause of all the damaged USB enclosure electronics of other cases)

I DID boot Win9x (Windows 95, 95A, 95B, 96(Nashville) and 98SE) from a USB device before, even from PCs that do not support booting from an external USB device.

I can't clearly remember, but I think that that error was so bad that it extended into safe mode (Meaning that I can't even access safe mode without hitting that error). But I CAN boot into MS-DOS mode, just not any mode that loads win.com (Running "win /D:M" would also cause that error to appear). This was what I meant by 3GB can kill this installation, not that it can kill any proper Win98 installation with the right adjustments made.

At any rate, I think that I'll just find another device (Somehow), and install Win98 again. Then I'll limit the memory, or patch it.

BTW: Won't just limiting the size of the swap file also fix this? Somehow I got this impression that I can from a Microsoft KB.

Upcoming SH95UPD v0.0.8 features:

-Some core modifications to make modifications easier to make

-Separate uninstaller(?)

-Add export 680 (IsUserAdmin). It was actually already in Win98 as export 680.

Edited by sp193

Share this post


Link to post
Share on other sites
At any rate, I think that I'll just find another device (Somehow), and install Win98 again. Then I'll limit the memory, or patch it.

BTW: Won't just limiting the size of the swap file also fix this? Somehow I got this impression that I can from a Microsoft KB.

Limiting the size of the Swap file will not fix any of the large RAM issues.

Share this post


Link to post
Share on other sites
See my > 1 GiB list, for which a link is in my signature.
In Day-to-day running Win 9x/ME with more than 1 GiB RAM you'll find actual working examples of how it's done, even without patching, If you limit the RAM memory.

You can boot Win 9x directly from USB if the BIOS has USB-HDD mode, or in various roundabout ways if the BIOS has just USB-ZIP or USB-FDD mode, the simplest being to boot the devide as A:\, create a ramdisk, move the boot files, command.com and some devices to the ramdisk, jump from autoexec.bat to a batch in the ramdisk, load DOS USB 2.0 drivers, adjust the path and the comspec and run win.ini. However you'll not be able to use Win USB drivers and will have to do without USB hot-plugging. But it's possible and has been done in various ways.

Share this post


Link to post
Share on other sites

SH95UPD v0.0.8 is now released.

As it has major core changes, it IS an "Ultra beta" - a much bigger beta than v0.0.7 with it was initially released.

Changes for SH95UPD v0.0.8 24/12/2009

-Added the following functions:

-IsUserAdmin (Export ordinal 680)

-SHFlushSFCache (Export ordinal 526, alias of the SHFlushSFCache that was already present in older SH95UPD releases)

-GetRealDriveType (Export ordinal 524)

-SHBindToParent

-Fully implemented SHGetSettings

-Seperated the uninstaller from the main program.

-The uninstaller is now the resident manager of SH95UPD, which has a smaller footprint.

This may seem unimportant, but now the full uncompressed SH95UPD is already 366KB in size (Compared to the uninstaller’s 144KB uncompressed).

-Added the ability for SH95UPD to alias a function that was only exported by ordinal.

-Added the ability for SH95UPD to export a function by ordinal.

IMPORTANT! SH95UPD v0.0.8 has some extreme core changes done to it (View the changelog for details).

Hence you can consider it to be a “Ultra Beta”, a much bigger beta than v0.0.7 when it was initially released.

Frankly, I have not really heavily tested this, but I have yet to encounter any flaws. Please report any _new_ crashes you may encounter here.

Please refer to the first post of this thread for downloads.

A Merry Christmas and a Happy New Year to the MSN community!

Edited by sp193

Share this post


Link to post
Share on other sites

Tried using IEradicator and reinstalling IE6, same problem: starting is blocked by SH95UPD.

On the bright side, no problems with version 0.0.8.

Share this post


Link to post
Share on other sites
Tried using IEradicator and reinstalling IE6, same problem: starting is blocked by SH95UPD.

On the bright side, no problems with version 0.0.8.

Glad to hear that you've got no new issues with v0.0.8.

Your problem is really quite persistent. You're using the USA version of Windows 98 right? That means that our software setups should not be too different (At the core level). Can you run the dependency walker on iexplore.exe and do a profile? Then maybe we can exchange the logs later on (Details via PMs). Also, please note down the missing exports (Names and/or Ordinal number if applicable) from SHELL32 that are linked to iexplore.exe.

The dependency walker may be able to help us troubleshoot what is your installation's problem...

You used IEradicator after uninstalling other software like KernelEx and SH95UPD right?

Then did you install Internet Explorer 6.0 BEFORE installing SH95UPD and KernelEx again?

If you did not do any of the above then you've quite likely changed nothing on your system.

Optional: Did you try restoring your SHELL32.DLL, COMDLG32.DLL and EXPLORER.EXE after uninstalling SH95UPD (This would rule out the possibility of corrupted/contaminated system files)?

There is, however, quite a big bug in SH95UPD. I don't know how long it's been there, but you cannot access ftp sites by typing ftp addresses in Internet Explorer 6.0.

Doing so will cause a crash due to the missing export 256. I added that in a test, but that caused another crash somewhere else.

Other than that, I don't see any other bugs.

Hence, if you don't use internet explorer for ftp transfers, you won't have to worry.

Edited by sp193

Share this post


Link to post
Share on other sites

i don't use KX currently, i believe i did it in the order you suggested, but i will check again this weekend to make sure.

then i will run dpendacy walker for you. cheers.

Share this post


Link to post
Share on other sites

Just to make this thread a little more complete, sp193 and I found my problem. My particular installation of IE6 seems to check shell32.dll version from the dllGetVersion method. If it finds that it is W95, it launches IExplore by the old method of running it. In case of W98 version returned, it exits with an error 259 which is apparently trapped by some other component of W98 ( Explorer.exe ???) and launches the internet browser ( most of IE is already running anyway ). My problem was solved by removing dllGetVersion in SHUPD95, which is normally set to spoof W98 shell.

The answer was found by comparing Dependacy Walker traces of IExpore.exe execution under W98, W95 and SHUPD95 versions of shell32.dll.

Many thanks to sp193 for patience and individual attention :) throughout this process.

Edited by snuz2

Share this post


Link to post
Share on other sites

Just to make this thread a little more complete, sp193 and I found my problem. My particular installation of IE6 seems to check shell32.dll version from the dllGetVersion method. If it finds that it is W95, it launches IExplore by the old method of running it. In case of W98 version returned, it exits with an error 259 which is apparently trapped by some other component of W98 ( Explorer.exe ???) and launches the internet browser ( most of IE is already running anyway ). My problem was solved by removing dllGetVersion in SHUPD95, which is normally set to spoof W98 shell.

The answer was found by comparing Dependacy Walker traces of IExpore.exe execution under W98, W95 and SHUPD95 versions of shell32.dll.

Many thanks to sp193 for patience and individual attention :) throughout this process.

Thanks to you too. His problem is probably the most unique one I've found. But it's also evidence that some 3rd party upgrades you may find here may cause side effects when mixed together with other unofficial upgrades. If anyone needs this special build of SH95UPD, please feel free to contact me.

However, I think that I need to let you guys here know: SH95UPD is now on life-support...

My development PC (A run-down Pentium III @ 1.0 GHZ) has finally been decommissioned in February this year (Partly because of all the imminent cascading hardware failures in it, not to mention that it was really insufficient).

It has been replaced by a 64-bit Core 2 duo E7500 installed in an ASUS LGA-775 mainboard. Hence, I had to install Windows XP x64 on it to run it efficiently and reliably.

If I can't install/run Windows 98 from a USB HDD(Or if it was really not feasible to do so) with my development environment, then I'm afraid that SH95UPD is really dead.

Share this post


Link to post
Share on other sites
If I can't install/run Windows 98 from a USB HDD(Or if it was really not feasible to do so) with my development environment, then I'm afraid that SH95UPD is really dead.

I fear the only way to do it from a USB HDD would be without USB hotplug support, and in compatibility mode.

And it'd be quite work-intensive to do it...

But, then again, I don't see why you cannot install it as a dual-boot machine, perhaps even using a second HDD.

That'll probably be less work-intensive and give you better results. Or else you also can use a VM to run 98SE.

Share this post


Link to post
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.

×