Windows 2000 and Ie6 XP DLLs

  • Thread starter Jason Oakley via WinServerKB.com
  • Start date
J

Jason Oakley via WinServerKB.com

I have a curious problem.
At the company I work in, we recently had about 80% of computers stop
working with explorer.exe crashing the second anyone types in their
username and password to log onto the AD domain.

After a huge amount of researching over the last couple of weeks I've
discovered the problem is related to shlwapi.dll

All of our computers are installed from an image on a RIS server and
therefore all have Windows 2000 Service Pack 4 with Internet Explorer 5.5

The two DLL files causing the problem have the version numbers:

6.0.2900.2573
6.0.2900.2627

From researching the Microsoft Support site and Google, I've come to the
conclusion that the second DLL above is an upgrade to the first and both
DLLs are actually for Windows XP systems running Internet Explorer 6!

I've checked the C:\WINNT directory for log files relating to Hotfixes and
the hotfixes which contain these DLLs (KB890923 & KB867282) are not
installed by our SUS server (at least there are no KB890923.log and
KB867282.log files whereas all our other KB files have logfiles). Looking
at the SUS Server Admin page, these KBs have not been Authorised to
download from Windows Update in the first place, so cannot have been
installed by SUS on our computers.

The first Hotfix applied to our desktop systems (KB890175) tries to
overwrite the shlwapi.dll with a 5.50 version:

---------
3.328: Deleting File: \??\C:\WINNT\system32\SET49.tmp ( File on disk is
newer than the temp file )
3.328: Source:C:\WINNT\system32\SET49.tmp
3.328: Destination:C:\WINNT\system32\SHLWAPI.DLL (6.0.2900.2627)[/QUOTE]
---------

This is also evidenced in setupapi.log:
---------
[2005/04/22 14:47:12 1004.10]
Munged cmdline: C:\WINNT\TEMP\IXP000.TMP\IEUPDATE.EXE /q Q824145
EXE name: C:\WINNT\TEMP\IXP000.TMP\IEUPDATE.EXE
Copying file C:\WINNT\TEMP\IXP000.TMP\SHLWAPI.DLL to C:\WINNT\system32\
SHLWAPI.DLL.
A newer file (C:\WINNT\system32\SHLWAPI.DLL) was overwritten by an older
(signed) file. Version of source file: 5.50.4930.1200. Version of target
file: 6.0.2900.2627. The SP_COPY_FORCE_NEWER flag was ignored. The existing
target file was not signed.
----------

I have no idea as yet where these spurious DLL files are coming from.
According to the Microsoft website there are only four ways for this DLL
(being protected by Windows File Protection) can be overwritten and thats:
1. Windows Service Pack installation using Update.exe
2. Hotfixes installed using Hotfix.exe or Update.exe
3. Operating system upgrades using Winnt32.exe
4. Windows Update

Our Windows Update SUS server only runs Tuesday nights, so it's unlikely to
be the culprit. In any case, rebuilding systems many times over the course
of that day resulted in the same computer dying as soon as a user logged in.
We are not upgrading to other versions of Windows..
We are not installing any new Service Packs.

The only thing left are Hotfixes, but as I said we have not seen any logs
of these KB's with the DLL files in them.

As soon as anyone logs into the computers, we get "Explorer.exe has
generated errors and will be closed by Windows". The computer is then
unusable. We are able to fiddle around and get a command prompt. Using the
command prompt we have fixed the computers temporarily by:
1. inserting a Win2kSP4 cd and running 'sfc /scannow' which seems to
overwrite the bad dll files
2. upgrade to Internet Explorer 6.0SP1 which also overwrites the bad dll
files.

The other strange thing is 80% of the computers died around the same time
of day on April 22nd. After running either of the above fixes, we've had
about 3-4 computers with this problem happening most (but not all) days and
not on the same scale as that day.

Any ideas?

TIA
 
D

Dave Patrick

That's interesting. I'd give product support a call.

--
Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
|I have a curious problem.
| At the company I work in, we recently had about 80% of computers stop
| working with explorer.exe crashing the second anyone types in their
| username and password to log onto the AD domain.
|
| After a huge amount of researching over the last couple of weeks I've
| discovered the problem is related to shlwapi.dll
|
| All of our computers are installed from an image on a RIS server and
| therefore all have Windows 2000 Service Pack 4 with Internet Explorer 5.5
|
| The two DLL files causing the problem have the version numbers:
|
| 6.0.2900.2573
| 6.0.2900.2627
|
| From researching the Microsoft Support site and Google, I've come to the
| conclusion that the second DLL above is an upgrade to the first and both
| DLLs are actually for Windows XP systems running Internet Explorer 6!
|
| I've checked the C:\WINNT directory for log files relating to Hotfixes and
| the hotfixes which contain these DLLs (KB890923 & KB867282) are not
| installed by our SUS server (at least there are no KB890923.log and
| KB867282.log files whereas all our other KB files have logfiles). Looking
| at the SUS Server Admin page, these KBs have not been Authorised to
| download from Windows Update in the first place, so cannot have been
| installed by SUS on our computers.
|
| The first Hotfix applied to our desktop systems (KB890175) tries to
| overwrite the shlwapi.dll with a 5.50 version:
|
| ---------
| 3.328: Deleting File: \??\C:\WINNT\system32\SET49.tmp ( File on disk is
| newer than the temp file )
| 3.328: Source:C:\WINNT\system32\SET49.tmp
| 3.328: Destination:C:\WINNT\system32\SHLWAPI.DLL (6.0.2900.2627)[/QUOTE]
| ---------
|
| This is also evidenced in setupapi.log:
| ---------
| [2005/04/22 14:47:12 1004.10]
| Munged cmdline: C:\WINNT\TEMP\IXP000.TMP\IEUPDATE.EXE /q Q824145
| EXE name: C:\WINNT\TEMP\IXP000.TMP\IEUPDATE.EXE
| Copying file C:\WINNT\TEMP\IXP000.TMP\SHLWAPI.DLL to C:\WINNT\system32\
| SHLWAPI.DLL.
| A newer file (C:\WINNT\system32\SHLWAPI.DLL) was overwritten by an older
| (signed) file. Version of source file: 5.50.4930.1200. Version of target
| file: 6.0.2900.2627. The SP_COPY_FORCE_NEWER flag was ignored. The
existing
| target file was not signed.
| ----------
|
| I have no idea as yet where these spurious DLL files are coming from.
| According to the Microsoft website there are only four ways for this DLL
| (being protected by Windows File Protection) can be overwritten and thats:
| 1. Windows Service Pack installation using Update.exe
| 2. Hotfixes installed using Hotfix.exe or Update.exe
| 3. Operating system upgrades using Winnt32.exe
| 4. Windows Update
|
| Our Windows Update SUS server only runs Tuesday nights, so it's unlikely
to
| be the culprit. In any case, rebuilding systems many times over the course
| of that day resulted in the same computer dying as soon as a user logged
in.
| We are not upgrading to other versions of Windows..
| We are not installing any new Service Packs.
|
| The only thing left are Hotfixes, but as I said we have not seen any logs
| of these KB's with the DLL files in them.
|
| As soon as anyone logs into the computers, we get "Explorer.exe has
| generated errors and will be closed by Windows". The computer is then
| unusable. We are able to fiddle around and get a command prompt. Using the
| command prompt we have fixed the computers temporarily by:
| 1. inserting a Win2kSP4 cd and running 'sfc /scannow' which seems to
| overwrite the bad dll files
| 2. upgrade to Internet Explorer 6.0SP1 which also overwrites the bad dll
| files.
|
| The other strange thing is 80% of the computers died around the same time
| of day on April 22nd. After running either of the above fixes, we've had
| about 3-4 computers with this problem happening most (but not all) days
and
| not on the same scale as that day.
|
| Any ideas?
|
| TIA
 
J

Jason Oakley via WinServerKB.com

Maybe this is useful:
----------
Microsoft (R) Windows 2000 (TM) Version 5.00 DrWtsn32
Copyright (C) 1985-1999 Microsoft Corp. All rights reserved.



Application exception occurred:
App: explorer.exe (pid=752)
When: 22/04/2005 @ 20:34:45.234
Exception number: c0000005 (access violation)

*----> System Information <----*
Computer Name: ADMINISTRATOR21
User Name: enix
Number of Processors: 1
Processor Type: x86 Family 15 Model 2 Stepping 7
Windows 2000 Version: 5.0
Current Build: 2195
Service Pack: 4
Current Type: Uniprocessor Free
Registered Organization: mobile
Registered Owner: Administrator

*----> Task List <----*
0 Idle.exe
8 System.exe
148 SMSS.exe
172 CSRSS.exe
168 WINLOGON.exe
220 SERVICES.exe
232 LSASS.exe
420 svchost.exe
448 spoolsv.exe
508 NTService.exe
524 svchost.exe
532 Wcapw32.exe
552 InoRpc.exe
588 InoRT.exe
608 InoTask.exe
676 LogWatNT.exe
720 regsvc.exe
740 mstask.exe
832 WinMgmt.exe
852 WinVNC.exe
904 svchost.exe
756 USERINIT.exe
752 explorer.exe
1148 kix32.exe
1024 DRWTSN32.exe
0 _Total.exe

(00400000 - 0043E000)
(77F80000 - 77FFD000)
(7C2D0000 - 7C332000)
(7C570000 - 7C623000)
(77D30000 - 77DA1000)
(77F40000 - 77F7B000)
(77E10000 - 77E6F000)
(00170000 - 001E6000)
(78000000 - 78045000)
(716F0000 - 7177A000)
(732E0000 - 73305000)
(23000000 - 23056000)
(782F0000 - 78535000)
(77A50000 - 77B3F000)
(775A0000 - 77630000)
(779B0000 - 77A4B000)
(77840000 - 7787E000)
(770C0000 - 770E3000)
(00D90000 - 00F94000)
(71500000 - 7161C000)

State Dump for Thread Id 0x470

eax=00040040 ebx=00000000 ecx=00000003 edx=00000000 esi=80040111
edi=001832e8
eip=00183b96 esp=0006fe98 ebp=0006fea4 iopl=0 nv up ei pl zr na po
nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000
efl=00000246


function: GetMenuPosFromID
00183b76 e84b0affff call SHGetValueW+0x3f (001745c6)
00183b7b 85c0 test eax,eax
00183b7d 59 pop ecx
00183b7e 740c jz Ordinal77+0x12b (0018c68c)
00183b80 8bc8 mov ecx,eax
00183b82 e8ba59ffff call Ordinal175+0x300 (00179541)
00183b87 e97b5cffff jmp AssocCreate+0x146 (00179807)
00183b8c 33c0 xor eax,eax
00183b8e e9745cffff jmp AssocCreate+0x146 (00179807)
00183b93 8b4510 mov eax,[ebp+0x10]
ss:00b69d8a=????????
FAULT ->00183b96 832000 and dword ptr [eax],0x0
ds:00040040=????????
00183b99 e9945cffff jmp AssocCreate+0x171 (00179832)
00183b9e 90 nop
00183b9f 90 nop
00183ba0 90 nop
00183ba1 90 nop
00183ba2 90 nop

*----> Stack Back Trace <----*

FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
0006FEA4 0017972C 0006FECC 00000000 00040040 00000000 !GetMenuPosFromID
0006FEE0 00408EAC 0006FF14 0006FF00 0006FF20 7C57EDD4 !AssocCreate
0006FF24 00408E77 00408458 00000000 0002066E 7FFDF000 explorer!<nosymbols>
0006FF60 00408201 00000060 00000000 0002066E 00000001 explorer!<nosymbols>
0006FFC0 7C59893D 00000000 00000000 7FFDF000 C0000005 explorer!<nosymbols>
0006FFF0 00000000 00408188 00000000 000000C8 00000100 kernel32!
ProcessIdToSessionId

*----> Raw Stack Dump <----*
0006fe98 00 95 17 00 d0 fe 06 00 - ec 94 17 00 e0 fe 06 00
.................
0006fea8 2c 97 17 00 cc fe 06 00 - 00 00 00 00 40 00 04 00
,...........@...
0006feb8 00 00 00 00 d4 ed 57 7c - 00 00 00 00 40 00 04 00
.......W|....@...
0006fec8 00 00 00 00 14 ff 06 00 - 00 ff 06 00 20 ff 06 00 ............
....
0006fed8 d4 ed 57 7c 67 d8 00 00 - 24 ff 06 00 ac 8e 40 00 ..W|g...
$.....@.
0006fee8 14 ff 06 00 00 ff 06 00 - 20 ff 06 00 d4 ed 57 7c ........
......W|
0006fef8 00 00 00 00 40 00 04 00 - 47 35 52 71 d4 ed 57 7c
[email protected]|
0006ff08 50 00 00 00 e0 00 00 00 - 1e 00 00 00 60 ff 06 00
P...........`...
0006ff18 91 cf 3d 78 1c b3 40 78 - 00 00 00 00 60 ff 06 00
...=x..@x....`...
0006ff28 77 8e 40 00 58 84 40 00 - 00 00 00 00 6e 06 02 00
[email protected][email protected]...
0006ff38 00 f0 fd 7f 30 4f bd ff - a6 52 58 7c ff ff ff ff
.....0O...RX|....
0006ff48 0c 00 00 00 6e 06 02 00 - ef 52 58 7c 02 00 00 00
.....n....RX|....
0006ff58 49 19 2d 00 e0 ff 06 00 - c0 ff 06 00 01 82 40 00 I.-
............@.
0006ff68 60 00 00 00 00 00 00 00 - 6e 06 02 00 01 00 00 00
`.......n.......
0006ff78 00 00 00 00 44 00 00 00 - 68 5f 07 00 00 45 07 00
.....D...h_...E..
0006ff88 88 5f 07 00 00 00 00 00 - 00 00 00 00 00 00 00 00
.._..............
0006ff98 00 00 00 00 98 e9 06 00 - e0 9b 07 00 90 e9 06 00
.................
0006ffa8 01 00 00 00 01 00 00 00 - 00 00 00 00 ff ff ff ff
.................
0006ffb8 ff ff ff ff ff ff ff ff - f0 ff 06 00 3d 89 59 7c
.............=.Y|
0006ffc8 00 00 00 00 00 00 00 00 - 00 f0 fd 7f 05 00 00 c0
.................

State Dump for Thread Id 0x3e8

eax=77d358be ebx=000808b0 ecx=0006df38 edx=00000000 esi=00080750
edi=00000100
eip=77f83310 esp=00d4fe28 ebp=00d4ff74 iopl=0 nv up ei pl nz na pe
nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000
efl=00000202


function: ZwReplyWaitReceivePortEx
77f83305 b8ac000000 mov eax,0xac
77f8330a 8d542404 lea edx,[esp+0x4]
ss:01849d0f=????????
77f8330e cd2e int 2e
77f83310 c21400 ret 0x14

*----> Stack Back Trace <----*

FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
00D4FF74 77D37B4C 77D35924 00080750 77D33E01 00070000 ntdll!
ZwReplyWaitReceivePortEx
00D4FFA8 77D358D6 0007FF88 00D4FFEC 7C57B388 000808B0 rpcrt4!
NdrCorrelationInitialize
00D4FFB4 7C57B388 000808B0 77D33E01 00070000 000808B0 rpcrt4!RpcBindingFree
00D4FFEC 00000000 00000000 00000000 00000000 00000000 kernel32!lstrcmpiW

State Dump for Thread Id 0x404

eax=77ab502c ebx=00000102 ecx=00074578 edx=00000000 esi=77f82826
edi=00d8ff74
eip=77f82831 esp=00d8ff60 ebp=00d8ff7c iopl=0 nv up ei pl nz na po
nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000
efl=00000206


function: NtDelayExecution
77f82826 b832000000 mov eax,0x32
77f8282b 8d542404 lea edx,[esp+0x4]
ss:01889e47=????????
77f8282f cd2e int 2e
77f82831 c20800 ret 0x8
77f82834 53 push ebx
77f82835 51 push ecx
77f82836 6a00 push 0x0
77f82838 c70701000000 mov dword ptr [edi],0x1
ds:00d8ff74=dc3cba00
77f8283e ff750c push dword ptr [ebp+0xc]
ss:01889e62=????????
77f82841 50 push eax
77f82842 e879fdffff call RtlMultiByteToUnicodeN (77f825c0)
77f82847 e928fcffff jmp RtlConsoleMultiByteToUnicodeN+0x333
(77f82474)

*----> Stack Back Trace <----*

FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
00D8FF7C 7C59A20E 0000EA60 00000000 77AB8FFB 0000EA60 ntdll!
NtDelayExecution
00007530 00000000 00000000 00000000 00000000 00000000 kernel32!Sleep

*----> Raw Stack Dump <----*
00d8ff60 43 a2 59 7c 00 00 00 00 - 74 ff d8 00 73 9f 59 7c
C.Y|....t...s.Y|
00d8ff70 88 2f 08 00 00 ba 3c dc - ff ff ff ff 30 75 00 00
../....<.....0u..
00d8ff80 0e a2 59 7c 60 ea 00 00 - 00 00 00 00 fb 8f ab 77
...Y|`..........w
00d8ff90 60 ea 00 00 ee 50 ab 77 - 00 00 00 00 00 00 a5 77
`....P.w.......w
00d8ffa0 88 2f 08 00 ec ff d8 00 - 88 2f 08 00 46 50 ab 77
../......./..FP.w
00d8ffb0 45 7d a6 77 30 7d a6 77 - 88 b3 57 7c 88 2f 08 00 E}.w0}
..w..W|./..
00d8ffc0 45 7d a6 77 30 7d a6 77 - 88 2f 08 00 00 c0 fd 7f E}.w0}
..w./......
00d8ffd0 78 45 07 00 c0 ff d8 00 - 78 45 07 00 ff ff ff ff
xE......xE......
00d8ffe0 44 1f 5c 7c 08 2b 57 7c - 00 00 00 00 00 00 00 00 D.\
|.+W|........
00d8fff0 00 00 00 00 2c 50 ab 77 - 88 2f 08 00 00 00 00 00
.....,P.w./......
00d90000 4d 5a 90 00 03 00 00 00 - 04 00 00 00 ff ff 00 00
MZ..............
00d90010 b8 00 00 00 00 00 00 00 - 40 00 00 00 00 00 00 00
.........@.......
00d90020 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
.................
00d90030 00 00 00 00 00 00 00 00 - 00 00 00 00 00 01 00 00
.................
00d90040 0e 1f ba 0e 00 b4 09 cd - 21 b8 01 4c cd 21 54 68 ........!..L.!
Th
00d90050 69 73 20 70 72 6f 67 72 - 61 6d 20 63 61 6e 6e 6f is program
canno
00d90060 74 20 62 65 20 72 75 6e - 20 69 6e 20 44 4f 53 20 t be run in
DOS
00d90070 6d 6f 64 65 2e 0d 0d 0a - 24 00 00 00 00 00 00 00 mode....
$.......
00d90080 9b b6 e5 4f df d7 8b 1c - df d7 8b 1c df d7 8b 1c
....O............
00d90090 92 f4 97 1c de d7 8b 1c - 16 f5 a1 1c de d7 8b 1c
.................
 
G

Guest

I see you're using Kix, right after the user logs in the error appears?

What's running in the kix script?
 
J

Jason Oakley via WinServerKB.com

Nothing in the kix scripts do it. I've set up a test PC and tried to kill
it every which way.
It's not affecting most computers now. Probably 1-4 PCs a day randomly and
they all use the kix scripts.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top