Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

98 (FE), 98 SP1, 98 SE + ME SHELL32.DLL fix

- - - - -

  • Please log in to reply
166 replies to this topic

#1
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • OS:none specified
  • Country: Country Flag
UPDATE 2-28-2007

This is *the* fix we have all been waiting for, folks. ;)
These 2 fixes were created by Anonymous author, who also developed unofficial U891711, Q918547, GDI*.*, KERNEL32.DLL + older SHELL98 fixes.

SHELL98:
http://www.mdgx.com/web.htm#9SU

Restored proper SHELL32.DLL 4.72.3812.634 English.
This SHELL32.DLL version corrects *almost all* EXPLORER.EXE lockups independent of free USER resources percentage:

* Unofficial Windows 98/98 SP1/98 SE Explorer Lockups With Internet Explorer 5.xx/6.xx SHELL32.DLL 4.72.3812.634 Fix:
- SHELL32.DLL Fix [475 KB, English]:
http://www.mdgx.com/files/SHELL98.EXE
- SHELL32.DLL Fix [475 KB, French]:
http://www.mdgx.com/files/SHELL98F.EXE
- SHELL32.DLL Fix [475 KB, Italian]:
http://www.mdgx.com/files/SHELL98I.EXE
This SHELL32.DLL Fix corrects Windows Explorer (and similar tools that use SHELL32.DLL APIs) lockups while trying to copy/create/move/delete/rename large number of files/folders with Internet Explorer 5.xx/6.xx already installed.
BUG: This SHELL32.DLL fix breaks the ability of removing annoying arrows from Desktop shortcut icons!
FIX: See "PATCHED SHELL32.DLL BUG + FIX" for complete details:
http://www.mdgx.com/98-5.htm#PSBF

SHELLME:
http://www.mdgx.com/web.htm#MEU

Same SHELL32.DLL version "rearranged" for easier localization (translation into languages other than English):
* Unofficial Windows ME Explorer Lockups With Internet Explorer 5.xx/6.xx SHELL32.DLL 5.50.4134.120 Fix:
Direct download [843 KB, English]:
http://www.mdgx.com/files/SHELLME.EXE
Direct download [847 KB, Italian]:
http://www.mdgx.com/files/ITSHELME.EXE
This SHELL32.DLL Fix corrects Windows Explorer (and similar tools that use SHELL32.DLL APIs) lockups while trying to copy/create/move/delete/rename large number of files/folders with Internet Explorer 5.xx/6.xx already installed.

How to uninstall this fix [valid for all versions]:
Start button -> Settings -> Control Panel -> Add/Remove Programs -> select "Remove Unofficial Explorer Lockups SHELL32.DLL Fix" -> click Add/Remove button -> reboot.

Author's comments...

I am sending SHELL32.DLL [for Win98/98 SE], which is far more than a mere workaround.
It does not fix the underlying bug in USER.EXE and its WM processing, but is designed to prevent the series of EXPLORER.EXE hangs 100% even if User Resources are low etc.
Although some MSFN members seem to think otherwise, it is not a bug in SHELL32.DLL - it just happens to be the best place to take care of the problem.
As always, this patch comes with the notice "Use at your own risk!"

I am very sorry but I have no time to localize SHELL32.DLL and I also have no plans at this point to port the code from Win98/98 SE SHELL32.DLL 4.72.3812.634 or 635 to WinME 5.50.4134.120 ( --> .134) - the patch is more difficult to implement under WinME.
However, I am sending a "rearranged" SHELL32.DLL 5.50.4134.120 [for WinME], the same "workaround", which should be much easier to localize = translate localizable strings into languages other than English.

Rick Chauvin wrote on Jan 3 2007, 05:46 PM:

I've found interestingly that for whatever reason? the Shell32.dll fix
(SHELL98.EXE) fix for Explorer lockups appears? to be more effective if
the Kernel32.dll fix (Copy2gb.exe) is also installed. To explain more of
what I've noticed is that if only the Shell32.dll is updated the hang
problem is yes much improved (70% successful) over just having the
original one in place - but I still can make it hang although not nearly
as readily as without it that's for sure; however if I have both the
shell32 and Kernel32 dlls updated then in my observances as of yet
anyway, it appears to be even more improved (85% successful) and more
difficult to trigger the hang problem. (In any of my tests when it hangs
the User, System, and GDI resources still show high %) Even though not a
perfect fix, the Shell32.dll workaround is a good one and well worth it,
and many thanks again to anonymous for taking the time to look at this
problem.

Rick,

Many thanks for testing the patch and for your comments.
Is there a sure-fire method that you know and use which triggers the bug successfully in most cases?
It would be very helpful to know.
It may help pinpoint the location of the actual bug in USER.EXE and whatever code in KRNL386.EXE/KERNEL32.DLL USER.EXE calls.
Which versions of KERNEL32.DLL have you been using for these tests?
4.10.2225 (official version) from 320798usa8.exe or an earlier version?
The updated version from COPY2GB.EXE on your machine is 4.10.2226 (unofficial version), correct?

LLXX wrote on Jan 6 2007, 07:39 PM:

First of all, there is nothing wrong with SetFilePointer as it uses
64-bit file pointers; the problem is in _llseek which interprets its
32-bit file pointer as signed irregardless of the desired seek (from the
beginning, from the current position, or from the end), and thus
attempts to move the file pointer past the beginning of the file even
when the desired seek is from the beginning (in which case a negative
offset would be nonsensical). In the unfixed version of _llseek,
SetFilePointer gets passed the sign-extended file pointer, causing *it*
to attempt to seek past the beginning of the file. I have fixed this by
forcing it to zero-extend the file pointer to 64 bits (thus keeping its
sign positive) *only* when a seek from the beginning is specified.
Otherwise the file pointer is signed and can be moved within the file as
usual.

Anonymous seems to have fixed shell32.dll to use SetFilePointer instead,
although this still leaves _llseek flawed. SetFilePointer doesn't need
any changes.

LLXX wrote on Dec 16 2006, 07:33 PM:

Don't know what's with that one. The _llseek doesn't even look like it
was fixed. Edit: This problem doesn't affect explorer.exe in WinME so
maybe that file is just a dummy.

What is her problem??? It is beyond me why she writes such nonsense. Has she not read the official definition on msdn2.microsoft.com and in the 'Win32 SDK Reference Help' (WIN32.HLP)???
KERNEL32.SetFilePointer has two modes: If called with a 32-bit pointer to the high-order DWORD of a 64-bit file pointer, it uses a 64-bit distance to move and uses it correctly.
However, if the pointer to the high-order DWORD is NULL, KERNEL32.SetFilePointer uses a 32-bit distance to move.
This is how KERNEL32._llseek calls KERNEL32.SetFilePointer (if unpatched) - KERNEL32._llseek itself is just a stub to call KERNEL32.SetFilePointer!
This is very different from a (real = non-zero) pointer pointing to a high-order DWORD that is zero.

AFAIK, _llseek and SetFilePointer are flawed in all versions of Windows (Win9x, WinNT, Win2k and WinXP) and probably in Vista, too.
Interestingly, the official description on msdn2.microsoft.com of the SetFilePointer API (and its 32-bit call mechanism!) has changed several times over the years. One may speculate if this was done to disguise the flaw.

P.S.:
The code below is an example of a bug in USER.EXE.
Unfortunately, it is *not* the bug that causes the EXPLORER.EXE hang, but the type of bug I was alluding to in an earlier message.
This bug can cause mayhem when Resources are too low and KERNEL.LOCALALLOC fails.
This type of bug occurs more than once in USER.EXE, but also exists in GDI.EXE, which highlights that coding practices apparently were not at their best when Windows 95 was developed.
push  0x40
push  0x14
call  KERNEL.LOCALALLOC
mov   cx, ds <-- ds<>0
mov   [bp-4], ax
mov   [bp-2], ds
or	cx, ax <-- always <>0
jnz   ...
xor   ax, ax
jmp   ...

Author's comments...

This is a patched version of:
- SHELL32.DLL 5.50.4134.120 for Windows ME
- SHELL32.DLL 4.72.3812.648 for Windows 98/98 SP1/98 SE
that prevents the EXPLORER hang from occuring when a large number of files is deleted, moved etc.
As I wrote earlier, the problem arises because USER.EXE runs completely out of resources (=0%) right after such a file operation is completed.
However, this is not a bug in USER.EXE. The patch I am providing is not a fix in the true sense, it is more of a workaround and, as always, is provided 'as is' without warranties expressed or implied and with the note 'Use it at your own risk.'
The problem may still occur if a large number of files is deleted, moved etc, while USER resources are low, say below 30%.
I also believe this problem has nothing to do with what versions of SHLWAPI.DLL and/or BROWSEUI.DLL are installed.
It may occur much more frequently with the IE6 SP1 versions because they have much more code, which also takes longer to execute (and may no longer be "optimized" for a Win9x environment).

May I use this opportunity to address a common misconception about GDI and
USER resources in Win9x/ME: The OS and all applications, whether they are
16-bit or 32-bit versions, share the same GDI and USER resources. These
resources are managed by GDI.EXE and USER.EXE, respectively. One of the
two data segments of GDI.EXE is for GDI resources and one of the two data
segments of USER.EXE (plus two extra heaps) is for USER resources. GDI and
USER objects (in these data segments) are accessed through *16-bit-wide*
handles. 32-bit applications (and DLLs) just use zero-extended 32-bit
versions of the same handles. The data segments I am referring to are
32-bit segments with an *initial* size of approx. 2.1 MiByte each. The
16-bit resources are just the lowest 65536 bytes each in these two 32-bit
data segments. 16-bit-wide handles and the 16-bit resource limit cause the
real bottle neck in resources of Win9x. Increasing the default size of the
two 32-bit data segments (which would be possible using hidden system
settings for them) makes very, very little, if any difference.

Please post here your test results.
Thanks.

Enjoy.


How to remove advertisement from MSFN

#2
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
Have you actually tried making a directory with several thousand files in it, and deleting/copying all of them?

(Hint: i386 of XP CD, or extracted contents of all 98SE CAB files :D)

Currently using: BROWSELC.DLL and BROWSEUI.DLL 5.50.4807.2300, no problems. Tested up to 16,384 files (used a splitter to split a 16Kb file into 1-byte files).

#3
eidenk

eidenk

    MSFN Addict

  • Member
  • PipPipPipPipPipPipPip
  • 1,527 posts
I usually don't quote myself but here it goes :

I have just done this test on my Win ME IE 5.5 SP2 system. It's quite interesting, read on :

Starting with system and user resources at 65% free, GDI at 75% free

I copied one folder containing 56,493 files and 619 folders totaling 1.55 GB (1,668,057,987 bytes) and occupying 2.07 GB (2,223,521,792 bytes) of disk space.

No freeze while copying. Resources didn't change of even 1%.

I then enabled explorer view. GDI fell to 70%.

I then copied over files and folders in several steps into the top folder obtaining 12383 objects (including 447 folders).

GDI resources fell at 64% when I selected all objects.

I dropped them into an empty folder but the window froze (but not the rest of explorer), instead of waiting a bit I killed and restarted the explorer from a batch on my middle mouse hook.

I was back then with resource level I had begun with.

I went again in the folder with the 12383 objects and did reenable explorer view. The resources did not change unlike above when I lost 5% of GDI doing almost the same thing.

I did reselect all 12383 objects and tried to drop again in an empty folder. The window froze again but this time I waited and the files finally copied over. The GDI resources did not change unlike above where they fell by another 4% trying to do that.

Only after everything was copied did explorer attempt to refresh the view. System and User resources fell briefly to O before jumping back to their normal value. GDI resources did not change but the entire explorer was frozen.

So that the "classic" explorer freeze we speak about in this thread appears to take place when explorer updates the view for a large number of files.

I killed and restarted it and was back to normal.

I did reselect the 12383 objects by click and drag and then did a right-click. It took several seconds to diplay the context menu. I then did choose delete.

When the deleting was finished, explorer did refresh the view of the folder and again System and User resources fell briefly to 0 after which the explorer was frozen again. The GDI resources did not visibly change at any point.

I did then empty the recycle bin but without having it opened. During the operation, System and User resources fluctuated by 6-7%.

Explorer did not freeze doing that but I am pretty sure it would have if I would have had the recycle bin opened.


Asus A8V Deluxe - Athlon 64 FX-55 2.6Ghz - 1GB DDRAM 400 - Windows ME (IE 5.5 SP2 Shell) + KernelEx 4.0 and Revolutions Pack 10

#4
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,139 posts

Have you actually tried making a directory with several thousand files in it, and deleting/copying all of them?

(Hint: i386 of XP CD, or extracted contents of all 98SE CAB files :D)

Currently using: BROWSELC.DLL and BROWSEUI.DLL 5.50.4807.2300, no problems. Tested up to 16,384 files (used a splitter to split a 16Kb file into 1-byte files).


though you need to be using version 5.50.4948.700 of BROWSEUI.DLL instead of 5.50.4807.2300 to have the latest security benefits for the BROWSEUI.DLL file, LLXX. I no longer use 5.50.4807.2300 of BROWSEUI.DLL file because it has security flaws that are fixed in version 5.50.4948.700.

I'll see if I can test out the BROWSE98.EXE patch on my WinME + IE6 SP1 machine, MDGx.

eidenk, you need to be using IE6 SP1, NOT IE 5.5 SP2, in order for the BROWSE98.EXE patch to work.

Edited by erpdude8, 13 October 2006 - 09:20 AM.


#5
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,139 posts

IE6 causes problems when large amounts of files are copied, moved, or deleted.

BROWSEUI.DLL and BROWSELC.DLL have to be replaced with earlier versions from 5.5 to stop this from happening.

I think I found the fix for this large files manipulation bug in Win98 SE with MS IE 6.0 or 6.0 SP1 installed...


MDGx, I hate to be the bearer of bad news but the browselc.dll, browseui.dll & shdocvw.dll files from the BROWSE98.EXE patch for IE6 SP1 did not fix the large files manipulation bug in Win98/ME with IE6/IE6 SP1 as I've just tested on my WinME + IE6 SP1 machine when deleting a large amount of files.

#6
eidenk

eidenk

    MSFN Addict

  • Member
  • PipPipPipPipPipPipPip
  • 1,527 posts

eidenk, you need to be using IE6 SP1, NOT IE 5.5 SP2, in order for the BROWSE98.EXE patch to work.


Can you do all I have done above without a freeze with the patch ?

I am almost sure you can't.

Edit : I see you have answered above already.

Edited by eidenk, 13 October 2006 - 09:42 AM.

Asus A8V Deluxe - Athlon 64 FX-55 2.6Ghz - 1GB DDRAM 400 - Windows ME (IE 5.5 SP2 Shell) + KernelEx 4.0 and Revolutions Pack 10

#7
PROBLEMCHYLD

PROBLEMCHYLD

    The Resurrector for old Windows OS

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • OS:98SE
  • Country: Country Flag
Explorer hangs after deletion but it recovers without a crash.These files work better than
the orginal because the original files crashed explorer.
My theory is that deleting large files eat resources fix the resource problem and we might
have a solution.

Believe God is the Alpha and Omega.
Believe Jesus Christ died for our sins.
Repent for your sins now or there will be
BLOOD

The Path to God


U98SESP3 03-11-2013


#8
Fredledingue

Fredledingue

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,267 posts
  • OS:98SE
  • Country: Country Flag
Does it affect file deletion/move done with any program (such as alternative file managers) or only inside Explorer?

...for me Explorer is like Paint: it works but the first thing you install after windows on your PC is a replacement for it. ;)

HTASoft.com

superchargedwindows9xig1.png
Still Using W98SE+++ ...Daily.

#9
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts


Have you actually tried making a directory with several thousand files in it, and deleting/copying all of them?

(Hint: i386 of XP CD, or extracted contents of all 98SE CAB files :D)

Currently using: BROWSELC.DLL and BROWSEUI.DLL 5.50.4807.2300, no problems. Tested up to 16,384 files (used a splitter to split a 16Kb file into 1-byte files).


though you need to be using version 5.50.4948.700 of BROWSEUI.DLL instead of 5.50.4807.2300 to have the latest security benefits for the BROWSEUI.DLL file, LLXX. I no longer use 5.50.4807.2300 of BROWSEUI.DLL file because it has security flaws that are fixed in version 5.50.4948.700.

I'll see if I can test out the BROWSE98.EXE patch on my WinME + IE6 SP1 machine, MDGx.

eidenk, you need to be using IE6 SP1, NOT IE 5.5 SP2, in order for the BROWSE98.EXE patch to work.

If you can clearly show what those 'security benefits' are, I might move to the newer version. Otherwise I'll leave things alone. Remember, I haven't been infected with *any* malware since I installed this 98SE over 6 years ago.

#10
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • OS:none specified
  • Country: Country Flag

Explorer hangs after deletion but it recovers without a crash.These files work better than
the orginal because the original files crashed explorer.
My theory is that deleting large files eat resources fix the resource problem and we might
have a solution.

Thanks a lot, PROBLEMCHYLD + erpdude8.
So far sounds like you guys are the only ones who actually tested this fix [please correct me if I'm wrong]. ;)
Thanks.

Clarifications:
1. This applies to all explorer "clones" and similar 32-bit file manipulation tools, because as far as I'm aware they all use the shell32 APIs to copy/delete/move files.
2. There may be a difference in behavior if Active Desktop [View as Web Page] is *not* enabled.
If you care to actually do this, please try with Active Desktop enabled.
Then please disable it and test again.
3. The 98 (FE)/98 SP1/98 SE fixed SHELL32.DLL modified to allow proper files > 2 GB manipulation might also make a difference [473 KB, English]:
http://www.mdgx.com/files/SHELL98.EXE
So please install this SHELL32.DLL fix before testing BROWSE98.EXE.

Everybody:

Thanks a lot for the updates, tips etc.
I'm pretty much aware of most of the comments on this subject posted here at MSFN forums.
But I thought just because my computer didn't freeze after copying the entire XP folder [7367 files] to a different partition, maybe, just maybe, we have a solution to this problem.
Unfortunately, doesn't seem to be much improvement over official files from M$. :(

Thanks for trying, anyway.

Best wishes.

Edited by MDGx, 09 January 2007 - 03:53 PM.


#11
PROBLEMCHYLD

PROBLEMCHYLD

    The Resurrector for old Windows OS

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • OS:98SE
  • Country: Country Flag
Same results with Active Desktop enable/disable
my resources had drop


System 91%-29%

User 91%-29%



once my resources recovered everything went well just a small hang.
Also i'm using BROWSELC.DLL 6.0.2900.2180 from 98SE2XP and the same problem
above occurs.Since these files doesn't break anything (To My Knowledge) i recommend keeping them.

FYI i have all the latest un/officials patches installed.
And yes my system is tweaked also.

Edited by PROBLEMCHYLD, 13 October 2006 - 05:38 PM.

Believe God is the Alpha and Omega.
Believe Jesus Christ died for our sins.
Repent for your sins now or there will be
BLOOD

The Path to God


U98SESP3 03-11-2013


#12
winxpi

winxpi

    Member

  • Member
  • PipPip
  • 192 posts
  • OS:none specified
  • Country: Country Flag
Sorry but is it possible that some of you guys don't invest very much time in this problem
or are to lazy to read previous articles about this issue?

I think one can't use IE6 brows* files for Windows Explorer.

AFAIK I only know as solution to use the files LLXX mentioned

Have you actually tried making a directory with several thousand files in it, and deleting/copying all of them?

(Hint: i386 of XP CD, or extracted contents of all 98SE CAB files :D)

Currently using: BROWSELC.DLL and BROWSEUI.DLL 5.50.4807.2300, no problems. Tested up to 16,384 files (used a splitter to split a 16Kb file into 1-byte files).



with this code:

CD %windir%\System
regsvr32 /u /s %windir%\System\browseui.dll
regsvr32 /u /s %windir%\System\browselc.dll
regsvr32 /i /s %windir%\browseui.dll
regsvr32 /i /s %windir%\browselc.dll

Whereas you first have to copy the files mentioned in %windir%.

Read this topic eventually

Edited by winxpi, 14 October 2006 - 03:54 AM.

Windows 98 has not got older, it just matured after 12 years!

#13
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,139 posts

Sorry but is it possible that some of you guys don't invest very much time in this problem
or are to lazy to read previous articles about this issue?

I think one can't use IE6 brows* files for Windows Explorer.

AFAIK I only know as solution to use the files LLXX mentioned


Have you actually tried making a directory with several thousand files in it, and deleting/copying all of them?

(Hint: i386 of XP CD, or extracted contents of all 98SE CAB files :D)

Currently using: BROWSELC.DLL and BROWSEUI.DLL 5.50.4807.2300, no problems. Tested up to 16,384 files (used a splitter to split a 16Kb file into 1-byte files).



agreed. use the browselc.dll and browseui.dll files LLXX mentioned in her earlier post when using any release of IE6 under Win98/ME to solve the delete large number of files problem

#14
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • OS:none specified
  • Country: Country Flag

Sorry but is it possible that some of you guys don't invest very much time in this problem
or are to lazy to read previous articles about this issue?

I think one can't use IE6 brows* files for Windows Explorer.

AFAIK I only know as solution to use the files LLXX mentioned


Have you actually tried making a directory with several thousand files in it, and deleting/copying all of them?

(Hint: i386 of XP CD, or extracted contents of all 98SE CAB files :D)

Currently using: BROWSELC.DLL and BROWSEUI.DLL 5.50.4807.2300, no problems. Tested up to 16,384 files (used a splitter to split a 16Kb file into 1-byte files).

with this code:

CD %windir%\System
regsvr32 /u /s %windir%\System\browseui.dll
regsvr32 /u /s %windir%\System\browselc.dll
regsvr32 /i /s %windir%\browseui.dll
regsvr32 /i /s %windir%\browselc.dll

Whereas you first have to copy the files mentioned in %windir%.

Read this topic eventually

I have read all topics at MSFN and some I found through Google about this issue.
Also, I'm aware of this problem [and its IE 5.5 files fix] for about 3-4 years, this has been already discussed by others in other forums and thru email exchanges I've had years ago.
Besides using the older IE 5.5 files [which downgrade IE + Windows Explorer interface to flawed (exposed to security vulnerabilites) IE 5.5 files], there is no other fix I'm aware of.
That's why I've been experimenting with these files, in the hope that newer IE 6.0 SP1 files [with less security flaws] would do the trick.
But it looks like the fix is only partial/cosmetic, because one has to Ctrl+Alt+Del to recover the UI [explorer process is killed, and another (new) instance is started].

Just like PROBLEMCHYLD said:

Explorer hangs after deletion but it recovers without a crash. These files work better than
the orginal because the original files crashed explorer.

I have also experienced similar/identical explorer hangs, which can be easily resolved by the "3 finger salute" [Ctrl+Alt+Del].
And the explorer hang did not occur at all times, as it used to with original IE 6.0 SP1 files, only once in a while.
I experimented by copying my entire WinXP folder + all its files [7402 files + 1146 subdirectories] from 1 HD to another and then deleting it.

I have tested this on:
- "virgin install" 98SE without 98SE2ME option 3 installed
- "virgin install" 98SE with 98SE2ME option 3 installed
- "virgin install" 98SE without SHELL98.EXE installed
- "virgin install" 98SE with SHELL98.EXE installed
- "virgin install" 98SE with Recycle Bin enabled
- "virgin install" 98SE with Recycle Bin disabled
- "virgin install" 98SE with Active Desktop [View as Web Page] enabled
- "virgin install" 98SE with Active Desktop [View as Web Page] disabled
- tweaked 98SE without 98SE2ME option 3 installed
- tweaked 98SE with 98SE2ME option 3 installed
- tweaked 98SE without SHELL98.EXE installed
- tweaked 98SE with SHELL98.EXE installed
- tweaked 98SE with Recycle Bin enabled
- tweaked 98SE with Recycle Bin disabled
- tweaked 98SE with Active Desktop [View as Web Page] enabled
- tweaked 98SE with Active Desktop [View as Web Page] disabled
- "virgin install" ME with Recycle Bin enabled
- "virgin install" ME with Recycle Bin disabled
and combinations of the above.

My test results:

98SE:
Explorer hangs less often if Recycle Bin is enabled.
Explorer hangs less often if 98SE2ME option 3 is installed.
Explorer hangs most of the time if Recycle Bin is disabled.
Explorer hangs more often if 98SE2ME option 3 is not installed.

ME:
Explorer hangs less often if Recycle Bin is enabled.
Explorer hangs more often if Recycle Bin is disabled.

98SE + ME:
Active Desktop [View as Web Page] doesn't seem to make a difference.
SHELL98.EXE doesn't seem to make a difference.

The OS seems to recover completely after the hang [after using Ctrl+Alt+Del to kill explorer] in *all* cases.

PROBLEMCHYLD:
In 98SE2XP I will replace BROWSELC.DLL 6.00.2900.2180 [from XP SP2] with older BROWSELC.DLL 6.00.2800.1106 [from XP SP1], because this older one has less unresolved dependencies.

HTH

Edited by MDGx, 17 October 2006 - 04:57 AM.


#15
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • OS:none specified
  • Country: Country Flag
Anonymous author of various 98/ME fixes [U891711, Q918547, SHELL98 ETC] sent his thoughts about the 98/98SE Explorer/OS lockups when deleting large files/folders using IE 6.0 SP1 browse*.dll files:

I don't know about patching USER.EXE. I suspect something gets screwed up
when USER.EXE repaints the window with the deleted files and runs out of
resources. It then stays "corrupted" until EXPLORER.EXE terminates
(logging off also works, but causes a permanent resource leak). So, I am
afraid don't know yet what to patch. I noticed another interesting feature
when EXPLORER.EXE uses the IE5.5 versions of BROWSExx.DLL and you may want
to post this on MSFN. Deleting files is much, much faster than with the
IE6SP1 files. There are problems when using two versions of BROWSExx.DLL
side by side, so it is not a good solution.

HTH

#16
PROBLEMCHYLD

PROBLEMCHYLD

    The Resurrector for old Windows OS

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • OS:98SE
  • Country: Country Flag

Anonymous author of various 98/ME fixes [U891711, Q918547, SHELL98 ETC] sent his thoughts about the 98/98SE Explorer/OS lockups when deleting large files/folders using IE 6.0 SP1 browse*.dll files:

I don't know about patching USER.EXE. I suspect something gets screwed up
when USER.EXE repaints the window with the deleted files and runs out of
resources. It then stays "corrupted" until EXPLORER.EXE terminates
(logging off also works, but causes a permanent resource leak). So, I am
afraid don't know yet what to patch. I noticed another interesting feature
when EXPLORER.EXE uses the IE5.5 versions of BROWSExx.DLL and you may want
to post this on MSFN. Deleting files is much, much faster than with the
IE6SP1 files. There are problems when using two versions of BROWSExx.DLL
side by side, so it is not a good solution.

HTH

I told you guys it eats up resources
fixed that and the problems go away

Believe God is the Alpha and Omega.
Believe Jesus Christ died for our sins.
Repent for your sins now or there will be
BLOOD

The Path to God


U98SESP3 03-11-2013


#17
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • OS:none specified
  • Country: Country Flag
UPDATED 11-7-2006

* Unofficial Windows 98/98 SP1/98 SE Explorer Lockups SHELL32.DLL 4.72.3812.620 Fix:
http://www.msfn.org/...showtopic=84451
Direct download [475 KB, English]:
http://www.mdgx.com/files/SHELL98.EXE
BUG: This SHELL32.DLL fix breaks the ability of removing annoying arrows from Desktop shortcut icons!
FIX: See "PATCHED SHELL32.DLL BUG + FIX" in TIPS98.TXT (included) for complete details:
http://www.mdgx.com/98-5.htm#PSBF
This SHELL32.DLL Fix corrects Windows Explorer and similar tools lockups while trying to copy/create/move/delete/rename large files/folders, even if Internet Explorer 5.xx/6.xx already installed.

Please see 1st post for details:
http://www.msfn.org/...showtopic=84451

Edited by MDGx, 09 January 2007 - 03:54 PM.


#18
Acheron

Acheron

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 988 posts
  • OS:XP Pro x86
  • Country: Country Flag

UPDATED 11-7-2006

* Unofficial Windows 98/98 SP1/98 SE Explorer Lockups SHELL32.DLL 4.72.3812.620 Fix:
http://www.msfn.org/...showtopic=84451
Direct download [475 KB, English]:
http://www.mdgx.com/files/SHELL98.EXE
BUG: This SHELL32.DLL fix breaks the ability of removing annoying arrows from Desktop shortcut icons!
FIX: See "PATCHED SHELL32.DLL BUG + FIX" in TIPS98.TXT (included) for complete details:
http://www.mdgx.com/98-5.htm#PSBF
This SHELL32.DLL Fix corrects Windows Explorer and similar tools lockups while trying to copy/create/move/delete/rename large files/folders, even if Internet Explorer 5.xx/6.xx already installed.

Please see 1st post for details:
http://www.msfn.org/...showtopic=84451


Thanks for this update!

However aren't there still some open security holes in the Windows Shell? Will these get patched also sometime?
Say no to bloatware. Download Nero Lite!

#19
eidenk

eidenk

    MSFN Addict

  • Member
  • PipPipPipPipPipPipPip
  • 1,527 posts

Author's comments...



May I use this opportunity to address a common misconception about GDI and
USER resources in Win9x/ME: The OS and all applications, whether they are
16-bit or 32-bit versions, share the same GDI and USER resources. These
resources are managed by GDI.EXE and USER.EXE, respectively. One of the
two data segments of GDI.EXE is for GDI resources and one of the two data
segments of USER.EXE (plus two extra heaps) is for USER resources. GDI and
USER objects (in these data segments) are accessed through *16-bit-wide*
handles. 32-bit applications (and DLLs) just use zero-extended 32-bit
versions of the same handles. The data segments I am referring to are
32-bit segments with an *initial* size of approx. 2.1 MiByte each. The
16-bit resources are just the lowest 65536 bytes each in these two 32-bit
data segments. 16-bit-wide handles and the 16-bit resource limit cause the
real bottle neck in resources of Win9x. Increasing the default size of the
two 32-bit data segments (which would be possible using hidden system
settings for them) makes very, very little, if any difference.


Unless it has just been updated, I had missed that so far.

So, any more information please ?

You say the size of the 32bits segments could be enlarged simply by modifying hidden system settings.

Which ones and where please ?
Asus A8V Deluxe - Athlon 64 FX-55 2.6Ghz - 1GB DDRAM 400 - Windows ME (IE 5.5 SP2 Shell) + KernelEx 4.0 and Revolutions Pack 10

#20
Eck

Eck

    Senior Member

  • Member
  • PipPipPipPip
  • 669 posts
MDGx,

I've noticed that somehow 98SE2ME always leaves me without the stupid arrows on the desktop shortcuts.

I've been running Gape's Unofficial pack, the new Multipatcher, then your 98SE2ME, 98SE2XP, and the MP10 to 98SE thing.

So, if I then run this new Shell32.dll fix will I again lose the tweakUI ability to toggle the shortcut arrows on and off?

Will this patch be included in one of your packs?

Do you accomplish this magic in 98SE2ME with the file already hex edited?

Which method would you choose if all those packs had already been installed and you didn't want to run them all again just to fix this? I'd rather not reapply 98SE2ME, etc just to get small changes. I usually try to apply your future changes manually if it looks easy enough. I prefer not to run huge packs on an already setup system.

And, I use WinZip and WinRAR so I'm wondering whether those would accomplish things you call for stuff like PowerArchiver to achieve.
Epox EP8KRAIPRO AthlonXP3200+ NVidia GeForce 6600GT AGP Audigy 2 ZS Crucial 2x1024MB 3200 RAM

#21
the_guy

the_guy

    Creator of the Windows ME Service Pack

  • Member
  • PipPipPipPipPip
  • 914 posts
  • OS:ME
  • Country: Country Flag
Can the installer please be modified to work on 95, but with the active desktop update installed?

the_guy
Creator of the Windows ME Service Pack.

#22
noguru

noguru

    Advanced Member

  • Member
  • PipPipPip
  • 307 posts
Very nice :) Thanks for posting this.
I used the IE 5.5 browsxxx files trick before because this error troubled me a lot!. I reregistered the the default IE6.0 ones before applying this fix. Unfortunately I could not reproduce the "file-delete" error anymore with 300+ jpg's to see if this fix really works but I know that if it does not the error will come up sooner or later again. So we will see but for now it looks very good, explorer windows including the recyclebin are opening much faster now. That's already a big improvement. I copied 500+ jpg's and deleted them tru recyclebin very smooth.

I removed the shortcut-overlay a long time ago with Xtec-Xsetup and it still works with exception from shortcut's to MS-DOS programs.

This is the most annoying bug in Win98se if you ask me. Lets hope that this is ended now. Cheers to the author !

edit: Would it be possible to create a fix that patches the original shell32.dll file so that different language versions are not needed? I installed this on a dutch Win98se. Offcourse everything is english now and I had to fix my start menu (empty startup and program folders are created on top of the original ones). I don't care but some might.

Edited by noguru, 07 November 2006 - 05:32 PM.


#23
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • OS:none specified
  • Country: Country Flag

However aren't there still some open security holes in the Windows Shell? Will these get patched also sometime?

I'm sure there are, but M$ discontinued support for 9x/ME OSes, so to port other OSes fixes to 9x shell32.dll it's probably not as easy as it seems.
Besides, some of the NTx [NT4/2000/XP/2003] OSes shell32.dll fixes are strictly NTx specific, do not apply to 9x [95/98/ME] OSes.

The anonymous author agreed to fix this bug only because I mentioned it to him [and obviously he is a very nice person], and he has also read about our unsuccessful tests/workarounds/etc, here at MSFN.
Please do not forget that this is only 1 person [not an entire team of software engineers] who does this in his own spare time [which from what I understand is very limited].
But I'll mention this to him nonetheless.

HTH

_____________________________________________




Author's comments...



May I use this opportunity to address a common misconception about GDI and
USER resources in Win9x/ME..............

Unless it has just been updated, I had missed that so far.

So, any more information please ?

You say the size of the 32bits segments could be enlarged simply by modifying hidden system settings.

Which ones and where please ?

I'll mention your questions to the anonymous author.

The GDI*.* fixes have not been updated recently.
Last update was 8-9-2006, when Win98SE GDI*.* files were updated to version 4.10.2227 .
To view this update, please go to:
http://www.msfn.org/...showtopic=46581
and scroll down to:
NEW 8-9-2006

HTH

_____________________________________________


MDGx,

I've noticed that somehow 98SE2ME always leaves me without the stupid arrows on the desktop shortcuts.

I've been running Gape's Unofficial pack, the new Multipatcher, then your 98SE2ME, 98SE2XP, and the MP10 to 98SE thing.

So, if I then run this new Shell32.dll fix will I again lose the tweakUI ability to toggle the shortcut arrows on and off?

Will this patch be included in one of your packs?

Do you accomplish this magic in 98SE2ME with the file already hex edited?

Which method would you choose if all those packs had already been installed and you didn't want to run them all again just to fix this? I'd rather not reapply 98SE2ME, etc just to get small changes. I usually try to apply your future changes manually if it looks easy enough. I prefer not to run huge packs on an already setup system.

And, I use WinZip and WinRAR so I'm wondering whether those would accomplish things you call for stuff like PowerArchiver to achieve.

98SE2ME does this by modifying the registry, not the file.
Quote from READ1ST.TXT:
http://www.mdgx.com/9s2m/READ1ST.TXT

* ALL system files + settings listed below install independent of selected
option(s) and BEFORE creating any backups = everybody should have them even if
you decide not to install any options.
They all install right after you press Y at 98SE2ME.PIF 1st screen:

- patched Registry entry: properly remove Desktop Icons Overlay [superimposed
small arrows]when using TweakUI [Explorer tab -> Shortcut overlay -> None or
Custom] or similar tweaking tools:
http://www.mdgx.com/toy.htm#SYS
after installing any of these Win98 SE patches:
- Unofficial 2-4 GB Files Errors SHELL32.DLL 4.72.3812.610 Fix:
http://support.micro....com/?id=318293
Direct download [473 KB]:
http://www.mdgx.com/files/SHELL98.EXE
- Official SHELL32.DLL 4.72.3812.600 Security Vulnerability Fix:
http://www.microsoft...n/ms02-014.mspx
Direct download [834 KB]:
http://download.micr...-US/q313829.exe

-----Begin cut & paste here-----
REGEDIT4
; Removes Desktop Icons Overlay [then press F5 to refresh Desktop settings]:
[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{63B51F81-C868-11D0-999C-00C04FD655E1}\InProcServer32]
@=""
; Restores Desktop Icons Overlay [replace C:\\WINDOWS to match your Win98 SE
; drive letter + directory name if different]:
[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{63B51F81-C868-11D0-999C-00C04FD655E1}\InProcServer32]
@="C:\\WINDOWS\\SYSTEM\\SHELL32.DLL"

------End cut & paste here------

How to restore original Registry value [this will display Desktop Icons
Overlay for ALL shortcuts]: run this command [%windir% = usually C:\WINDOWS]:
RUNDLL32 %windir%\SYSTEM\ADVPACK.DLL,LaunchINFSection C:\9!M\BSRESTOR.INF,IO
Then press F5 to refresh the Desktop settings.
Restore NOT necessary because original Registry value BUGgy.
More info [see 3rd FIX]:
http://www.mdgx.com/98-5.htm#PSBF

HTH

_____________________________________________


edit: Would it be possible to create a fix that patches the original shell32.dll file so that different language versions are not needed? I installed this on a dutch Win98se. Offcourse everything is english now and I had to fix my start menu (empty startup and program folders are created on top of the original ones). I don't care but some might.

As I've said before, it is not recommended to patch older files, which do not contain newer fixes, because system file patches are [and should be] cumulative. Patching older files with just 1 fix and ignoring all others defeats the purpose of having a fully-patched OS.

But if you want the older file patched only for experimenting on your computer(s), that's an entirely different matter.
I'll mention your request to the anonymous author.

HTH

_____________________________________________


Can the installer please be modified to work on 95, but with the active desktop update installed?

the_guy

Did you or some1 else test this patch on Win95 with Active Desktop?
Does it work?
If it does, I'll modify the installer to make it work on Win95.

HTH

Edited by MDGx, 07 November 2006 - 06:58 PM.


#24
noguru

noguru

    Advanced Member

  • Member
  • PipPipPip
  • 307 posts

edit: Would it be possible to create a fix that patches the original shell32.dll file so that different language versions are not needed? I installed this on a dutch Win98se. Offcourse everything is english now and I had to fix my start menu (empty startup and program folders are created on top of the original ones). I don't care but some might.

As I've said before, it is not recommended to patch older files, which do not contain newer fixes, because system file patches are [and should be] cumulative. Patching older files with just 1 fix and ignoring all others defeats the purpose of having a fully-patched OS.

But if you want the older file patched only for experimenting on your computer(s), that's an entirely different matter.
I'll mention your request to the anonymous author.

HTH



With original file I mean the shell32.dll that's already on the system. This fix replaces the shell.dll file with a, in my case, different language version. Is it possible to fix the existing shell32.dll instead of replacing it?

#25
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • OS:none specified
  • Country: Country Flag

With original file I mean the shell32.dll that's already on the system. This fix replaces the shell.dll file with a, in my case, different language version. Is it possible to fix the existing shell32.dll instead of replacing it?

Which different language?
The only language file that was fixed previousy [the unofficial copy files/folders 2-4 GB bug = SHELL98.EXE] is English (United States) = en-us.
The anonymous author patched that shell32.dll 4.72.3812.610 [from SHELL98.EXE] to new version 4.72.3812.620 .
So now SHELL98.EXE contains the new version:

* Unofficial Windows 98/98 SP1/98 SE Explorer Lockups SHELL32.DLL 4.72.3812.620 Fix:
http://www.msfn.org/...showtopic=84451
Direct download [475 KB, English]:
http://www.mdgx.com/files/SHELL98.EXE

HTH




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN