在软件/补丁安装期间跟踪系统变化

在软件/补丁安装期间跟踪系统变化

假设我在 Windows 上安装软件,我想查看它在安装过程中所做的所有更改,那么跟踪系统更改的最简单方法是什么?更改可能发生在程序/系统文件或注册表等中,是否有跟踪这些更改的工具?这可能很有用,例如,在补丁安装中,管理员可能希望跟踪它所做的所有更改。

答案1

Sysinternal 的进程监视器可能在这里派上用场。虽然它可能有点太冗长,但您可以过滤掉其他进程并进行调整,直到它最适合您。启动它并扫描,然后开始安装并在完成后停止。

进程监控

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

可能还有其他自由的针对已启动的二进制安装的特定解决方案,但我不知道它们。

快速更新
我同意 Evan 的观点,至少对于注册表来说,如果太冗长,你可能需要在安装之前和之后运行导出。Windows 2003 支持工具随附执行程序(用于查找注册表中两个 .reg 文件之间的差异的老方法)。

答案2

您想制作“穷人的快照”。当我使用 WIX 为第三方软件构建自己的 MSI 时,我经常这样做。

对于您要执行的操作,进程监视器可能有点太冗长了。您可以尝试使用以下方法创建注册表的“快照”:

REGEDIT /E BEFORE.REG

然后再重复一次,以便您可以进行比较。

对于文件系统,我使用了免费软件实用程序“文件列表“来生成文件系统的“之前”和“之后”的快照。

在现有文件内进行修改是有问题的。您可能需要拍摄初始快照,找到已修改的文件,然后回滚(我通常使用 VM 和内置磁盘快照功能进行回滚)并拍摄每个您知道将被修改的文件的“之前”快照,以便与“之后”版本进行比较。

请记住,捕获更改的内容与捕获安装程序的逻辑不是一回事。如果可能,最好对安装程序进行逆向工程,而不是仅仅尝试捕获更改的内容。由于快照计算机的配置情况,您可能会错过您没有看到的细微差别。


Windows 2000 Server 附带的旧版 WinInstall 2003 LE 在生成此类快照以供参考方面做得相当不错,但它生成的 MSI 却很糟糕。(我放弃使用它,并开始自己“手动”制作快照,如上所述。)

答案3

查看 Total Uninstall

它会观察安装前后的情况,并准确地告诉您该程序做了什么。

http://www.martau.com/tu_download.php

答案4

您可以使用 Installshield 产品打开软件包,这样您无需实际安装即可知道它将做什么。该产品还集成了一个捕获工具,用于在安装前/安装后进行快照

相关内容