Registry Backup and DLL Hell?

Dennis Faas's picture

Infopackets Gazette Reader Dan G. writes:

" Dear Dennis,

[I've read many times that you talk about the Windows Registry*] ... I was wondering if you could tell me how I can copy out [export / backup] my Registry [incase Windows stops functioning properly and I need to revert back to a previously working Registry]? Many thanks. "

My Response:

Reverting back to a Registry Backup may work, but it all depends on how often you update your system and what files have been changed. You can Export (backup) your Registry by doing this:

  • start -> run "regedit" (no quotes)
  • file -> export
  • ensure that "all" has been clicked and enter the file name (regbackup_date.reg, for example).

However, it is important to note that reverting (importing) an Old Registry may do more harm than good.

Side note: The Windows Registry is a core component of the Windows Operating System. The Registry database stores everything about a computer: everything from colors, installed applications, hardware drivers -- and even changes made in the Control Panel.

What is DLL Hell?

Almost all program use DLL's [Dynamic Link Libraries]. DLL's are common files which are shared amongst other programs and the Windows OS. DLL Hell occurs when an install program updates an existing DLL *without* checking for dependencies (I.E.: other programs that use the same DLL).

All of this can cause a major conflict in the Operating System (I.E.: Windows), which may result in crashes, freeze-ups, and Blue Screens of Death. Since DLL [version] information is stored in the Windows Registry, DLL Hell can occur if you revert back to a previous Registry *without* reverting your DLLs at the same time (a next-to-impossible task).

I also found this definition of DLL Hell from TechWeb, though the page is no longer active:

" DLL Hell refers to conflicts with Windows DLLs when the wrong one is installed. A Windows DLL is an extension to the operating system that is shared by any application that calls it. Once a DLL is opened, all programs use that same instance of the DLL when they need its functions. Microsoft is continually adding features to its DLLs, and in order for an application vendor to utilize those features and ensure that the latest DLL is available, it installs the latest DLL along with the application.

As long as a newer DLL replaces an older one, everything generally works. However, if the installation program does not check version numbers or dates and simply installs its shared DLL into the \WINDOWS\SYSTEM directory, it may overwrite a newer version with an older one. This means the installation of a new application can foul up an existing application that depends on functions in the newer DLL that all of a sudden are no longer there. Fortunately, most installation programs do the necessary version checking. "

How to Avoid DLL Hell

There are programs available, such as Registry Mechanic that can help eliminate errors in the Windows Registry which cause DLL Hell.

If your system is completely FUBAR ('Fragged' Up Beyond All Recognition), you may need to reinstall Windows and all of your programs to ensure that everything is up-to-date and registered correctly within the Registry.

A better way to backup an entire system (operating system / registry / program files) is to use a Disk Imaging program like Acronis TrueImage. Disk Imaging is *the only* sure-fire way to backup and restore an entire system without having to face problems such as DLL Hell (provided that program files [including DLLs] are backed up at the same time an image is created). There's more details on Acronis True Image here.

Rate this article: 
No votes yet