Answers:
运行安装程序,并使用Sysinternals Process Monitor进行监视。您可以过滤数据,以便仅显示安装程序完成的操作。您甚至可以过滤到想要查看的任何操作(RegWrite,RegQueryValue等),并保存捕获以供以后查看。
进程监视器是免费的。
您也可以使用WinDiff。您可以保存导出的注册表文件,然后对其进行比较:
WinDiff是免费的开放源代码。
用于比较实际注册表导出文件的另一个免费软件解决方案是RegShot。
RegShot是一个小的注册表比较实用程序,可让您快速拍摄注册表快照,然后将其与第二个快照进行比较-在进行系统更改或安装新的软件产品后进行比较。更改报告可以以文本或HTML格式生成,并包含快照1和快照2之间进行的所有修改的列表。此外,您还可以指定要扫描更改的文件夹(带有子缓存器)。
.reg
文件,WinMerge可以更好地处理该文件,甚至可以比Windiff更好地对其进行比较。就是说,我通常使用这种方法进行快速而肮脏的分析(即使通常最终会花费更多工作)。
如果您碰巧有Total Commander,这很简单:
在安装之前和安装之后导出注册表(以相同的名称保存在不同的文件夹中)
打开在Total Commander这两个文件夹,突出一侧的文件,请转到文件 > 比较按内容...瞧:
Total Commander是共享软件,请在购买前尝试。
如果要比较两个注册表文件(已手动导出为文本),则有很多比较应用程序,例如WinMerge,WinDiff等。
请注意:如果注册表配置单元很大,则导出可能需要一段时间,而且更糟的是,Windiff在尝试读取大.reg
文件时可能会或多或少地挂起。请改用WinMerge,因为它可以处理大文件,更快地对它们进行比较,并且效果更好(有时Windiff会弄错)。
如果要在安装之前和之后比较注册表,则最好使用安装监视器。同样,它们很多,但是主要的之一是PC Magazine的InCtrl5(您可能需要付费从他们的网站下载它,尽管程序本身是免费的,所以有很多网站都提供它)。他们发布了一个称为InCtrlX的更新,大概是更好的更新。完全卸载是一个很好的商业选择。我通常喜欢旧的InCtrl5副本,但是Z-Soft卸载程序具有相同的功能并且非常出色(这是我尝试过的最好的方法);另外,它是免费的。
另一个解决方案是分析安装程序本身。也就是说,查看EXE / MSI / BAT / INF / etc。文件以亲自了解安装时的实际操作,包括对文件,注册表项,服务,驱动程序等的更改。这样,您可以完全避免整个检测过程。我发现7Zip是查看大多数可执行安装程序(例如NSIS)的最佳方法,因为您可以看到文件和脚本等。对于MSI安装程序,我建议使用Microsoft自己的ORCA或InstEd。对于MSI来说,一个很好的商业工具是AdvancedInstaller
我想比较实际的配置单元而不是导出文件,并能够轻松地在它们之间复制内容。
我试过了:
因此,这是我详细使用的步骤。假设我想在从分区C运行时将项目从分区D(配置单元软件)上的注册表复制到注册表分区E(配置单元软件)。