Microsoft

Old DLL files cause Windows boot problems

Learn to troubleshoot WinXP and Win2K loading problems due to the presence of older DLL files on your system


Don’t be too quick to reinstall Windows when you encounter problems that prevent your system from booting up. Even if you can’t get into Windows in safe mode, a simpler fix than reinstalling may be available, as one member posting in our Technical Q&A forums discovered. Specific files can cause boot problems that you can easily rectify.

In some cases, the presence of older DLL files on your system can prevent WinXP and Win2K from loading properly. The symptom is simply that the system boots, but the desktop does not appear to load or is blank. James Mayhan encountered this problem on his HP Pavilion system.

“Boot hangs after login,” wrote Mayhan in our Technical Q&A forums, “and the desktop never loads. Task manager can run some apps, but [the system] is unable to fully boot into Windows either in safe mode or using the last good config.”

Some members responding to Mayhan’s post felt his only option would be to reformat his drive and reinstall Windows. There’s actually a much easier solution to this known problem, which can occur in WinXP and versions of Win2K.

Old Shdocvw.dll is to blame
Mlowe, LAN administrator at Creative Business Concepts, correctly identified Mayhan’s problem as the issue described in Microsoft Knowledge Base Article 256194. The support article explains that this boot issue occurs when older versions of certain DLL files reside in the %SystemRoot% folder.

Microsoft’s support article states that this happens on Win2K systems specifically when an old version of Shdocvw.dll is present in the root folder. The symptoms in this case are that the desktop is blank or does not load at all, and opening Task Manager reveals that Explorer.exe is not listed as a running task. The older file also prevents you from manually starting Explorer.exe.

The article states that the following DLL files can also cause problems with Explorer.exe and prevent the desktop from loading:
  • Browseui.dll
  • Comctl32.dll
  • Comdlg32.dll
  • Mlang.dll
  • Ole32.dll
  • Oleaut32.dll
  • Shdocvw.dll
  • Shell32.dll
  • Shlwapi.dll
  • Urlmon.dll
  • Wininet.dll
  • Setupapi.dll

To fix the problem, perform the following steps:
  1. Press [Ctrl][Alt][Delete] to open Task Manager.
  2. Select File | New Task (Run).
  3. Type cmd and press [Enter] to open the command prompt.
  4. Change to the %SystemRoot% folder.
  5. Type ren shdocvw.dll shdocvw.old to change the name of the old DLL file.
  6. Restart the computer.

This should prevent the file from interfering with the shell or Explorer.exe and allow the system to boot normally. If your system appears to hang on boot and displays a blank desktop or no desktop at all, search for older DLL files in the root folder and perform these steps before resorting to a complete reinstall.

Editor's Picks