Link to home
Start Free TrialLog in
Avatar of compcrazy
compcrazy

asked on

Shell32.dll in W2K

There is a shell32.dll in win2k under winnt/system32 directory which provides certain core functions in OS. i want to change that shell32.dll with my own version of shell32.dll, which i have already made. My problem is that when i replace that file and reboot my machine, the OS again "regenerates" the original shell32.dll and my dll is overwritten. am using SP2 also and have changed the shell32.dll in that servicepackfiles directory to my version of the same. There is no shell32.dll in the i386/*.cab files. but still it is able to get the original file somehow. how do i go about changing this file?
ASKER CERTIFIED SOLUTION
Avatar of mikecr
mikecr
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Along with mikes suggestion I think your running into the Windows File Protection feature which is doing replacing of that file.

Description of the Windows 2000 Windows File Protection Feature (Q222193)
http://support.microsoft.com/search/preview.aspx?scid=kb;en-us;Q222193


The Crazy One
Avatar of pjknibbs
pjknibbs

As CrazyOne says, you're running into Windows File Protection--there's a copy of SHELL32.DLL in the DLLCACHE folder (hidden folder in SYSTEM32) which is copied back over your version. You need to remove (or update) the copy of SHELL32 in DLLCACHE for this to work.
Avatar of compcrazy

ASKER

Even after updating the DLLCache folder, the Shell32.dll was not updated in the system32 directory, so i had to use the regsvr32.exe to unregister and then register my version of shell32.dll. After that, it has started using the modified shell. Thanx to all of you for the help u extended :)
U do not need to reboot the machine perhaps... coz i got the immediate result after registering the modified dll. Thanx for the help :)
I'm glad I could help. Good luck!