What's the easiest and fastest way to compare 2 registry files?

Solution 1:

Run the installer and watch it with Sysinternals Process Monitor. You can filter the data so that only operations done by the installer are shown. You can even filter down to whatever operations you want to see (RegWrite, RegQueryValue, etc) and save the capture for later viewing.

alt text

Process monitor is freeware.

You could also use WinDiff. You can save exported registry files and then compare them afterwards:

alt text

WinDiff is free and open source.

Another FOSS solution for comparing actual registry exported files is RegShot.

RegShot is a small registry compare utility that allows you to quickly take a snapshot of your registry and then compare it with a second one - done after doing system changes or installing a new software product. The changes report can be produced in text or HTML format and contains a list of all modifications that have taken place between snapshot1 and snapshot2.In addition, you can also specify folders (with sub filders) to be scanned for changes as well.

alt text

Solution 2:

if you happen to have Total Commander, this is pretty easy:

  1. export the registry before the installation and after the installation (save with the same name in different folders)

  2. open both folders in Total Commander, highlight the file on one side, go to Files > Compare By Content... voilá:

enter image description here

Total Commander is shareware, try before you buy.

Solution 3:

If you want to compare two registry files (that you have manually exported to text), then there are plenty of comparison apps, such as WinMerge, WinDiff, etc.

A word of caution: if the registry hive is large, then exporting can take a while, and worse, Windiff can more or less hang when trying to read large .reg files. Use WinMerge instead because it can handle large files, diff them faster, and the results are better (sometimes Windiff just gets it wrong).


If you want to compare the registry before and after an installation, then you may as well use an installation monitor. Again, there are plenty of them, but one of the main ones is PC Magazine’s InCtrl5 (you may have to pay to download it from their site, though the program itself is free, so there are plenty of sites that have it). They have released an update called InCtrlX which presumably, is better. Total Uninstall is a good commercial one. I generally like my old copy of InCtrl5, but Z-Soft Uninstaller has the same function and is exceptional (it’s the best of the dozen or so that I have tried); plus, it’s free.


Another solution is to analyse the installer itself. That is, look inside the EXE/MSI/BAT/INF/etc. file to see for yourself exactly what it does when it installs, including changes to files, registry entries, services, drivers, and such. That way you can avoid the whole detection process altogether. I find that 7Zip is the best way to look inside most executable installers (such as NSIS), because you can see the files and scripts and such. For MSI installers, I suggest either Microsoft’s own ORCA or InstEd. A good commercial tool for MSIs is AdvancedInstaller

Solution 4:

I use WinMerge but I have built an application to convert WinMerge patch files to .reg format. It works great for non-M$ apps, but since WinMerge doesn't maintain HK in generated patch files, mostly just for install/uninstall uses. I had one application in particular that I couldn't install on x64 Win7, but I knew it worked. I exported entire reg to file1, installed, exported entire changed reg to file2. Make a comparison patch with WinMerge then used my application to clean up all the unecessary content.

WinPuurg