Saturday, June 09, 2007

Corrupted DLL

When i was working with my computer, suddenly the explorer restarted and there was an error message saying that it couldn't find ordinal 110 in the dynamic link library shdocvw.dll. I couldn't start explorer, the file manager. It kept displaying the same error messages, so i tried to look for the explorer.exe file in C:\WINDOWS. It's not corrupted, since i compared it with the same file on my laptop, so next, i checked the dll file and my guess was correct. The file has difference in size, so i tried to copy the dll from my laptop to a flash drive and tried to overwrite it, but too bad. Windows wouldn't detect my flash drive, since the explorer couldn't be executed (i think everything is controlled by explorer).

Next, i grab an old Ubuntu CD (my Slackware CD was borrowed, my new Ubuntu CD are in my campus, and my new Mandriva Spring LiveCD failed to load the X) from my collections (luckily i haven't throw them away) and boot the Ubuntu. I copied the dll file to my other partition, since i formatted my system partition as NTFS (i'm not taking any risk by mounting it in read-write mode even though it's possible) and then i tried to boot into Windows again and copy the dll over the old one. Done? Not yet, since the dll was used by a process, so even though explorer.exe couldn't be loaded, the dll was loaded by other processes, so i had no choice but to use the installer CD. I picked up repair mode and copied the dll file to overwrite the corrupted one and when i rebooted, it went back to normal again. Wheew... whew!

I don't know why suddenly the dll got corrupted, since i never touched those dlls. Well, it's Windows and you never know what will happen next day big grin