比较 2 个注册表文件的最简单快捷的方法是什么?

Not*_*tze 42 windows windows-registry

我想在我的电脑上安装一些东西后找到注册表中所做的更改。但是,我也想知道作为一般程序可以轻松完成什么。

Joh*_*n T 35

运行安装程序并使用Sysinternals Process Monitor观察它。您可以过滤数据,以便仅显示安装程序完成的操作。您甚至可以过滤到您想要查看的任何操作(RegWrite、RegQueryValue 等)并保存捕获以供以后查看。

替代文字

进程监视器是免费软件。

您也可以使用WinDiff。您可以保存导出的注册表文件,然后再进行比较:

替代文字

WinDiff 是免费和开源的。

另一个用于比较实际注册表导出文件的 FOSS 解决方案是RegShot

RegShot 是一个小型的注册表比较实用程序,它允许您快速获取注册表的快照,然后将其与进行系统更改或安装新软件产品后的第二个快照进行比较。更改报告可以文本或 HTML 格式生成,并包含在快照 1 和快照 2 之间发生的所有修改的列表。此外,您还可以指定要扫描更改的文件夹(带有子文件)。

替代文字

  • 如果您已经有注册表快照并需要比较它们,RegShot 似乎没有任何用处 (3认同)

小智 8

如果你碰巧有Total Commander,这很容易:

  1. 安装前和安装后导出注册表(同名保存在不同文件夹中)

  2. 在 Total Commander 中打开两个文件夹,突出显示一侧的文件,转到文件>按内容比较...瞧:

在此处输入图片说明

Total Commander 是共享软件,先试后买。


Syn*_*ech 5

如果您想比较两个注册表文件(您手动导出为文本),那么有很多比较应用程序,例如WinMergeWinDiff等。

警告:如果注册表配置单元很大,那么导出可能需要一段时间,更糟糕的是,Windiff 在尝试读取大.reg文件时或多或少会挂起。改用 WinMerge,因为它可以处理大文件,更快地对它们进行比较,并且结果更好(有时 Windiff 只是弄错了)。


如果您想比较安装前后的注册表,那么您不妨使用安装监视器。同样,它们有很多,但主要的一个是 PC Magazine 的InCtrl5(您可能需要付费才能从他们的站点下载它,尽管该程序本身是免费的,因此有很多站点都有它)。他们发布了一个名为 InCtrlX 的更新,据推测,它更好。Total Uninstall是一个很好的商业版。我通常喜欢我的旧版 InCtrl5,但Z-Soft Uninstaller具有相同的功能并且非常出色(它是我尝试过的十几种中最好的);另外,它是免费的。


另一种解决方案是分析安装程序本身。即,查看 EXE/MSI/BAT/INF/etc 内部。文件以亲自查看它在安装时的确切功能,包括对文件、注册表项、服务、驱动程序等的更改。这样您就可以完全避免整个检测过程。我发现7Zip是查看大多数可执行安装程序(例如 NSIS)内部的最佳方式,因为您可以看到文件和脚本等。对于 MSI 安装程序,我建议使用 Microsoft 自己的ORCAInstEd。一个很好的 MSI 商业工具是AdvancedInstaller