在软件/补丁程序安装期间跟踪对系统的更改

比方说,我正在Windows上安装一个软件,我想查看它在安装过程中所做的所有更改,跟踪系统更改的最简单方法是什么? 改变可能发生在程序/系统文件或registry等,有没有一个工具,跟踪这种变化? 例如,在pipe理员可能想要跟踪所做的所有更改的补丁安装中,这可能很有用。

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

进程监视器

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

可能有其他免费的解决scheme是特定于启动的二进制安装,但我不知道他们。

快速更新
我同意Evan,至less对于registry来说,如果它太冗长,你可能想要在安装之前和之后运行一个导出。 Windows 2003支持工具带有windiff.exe (一个用于查找registry中的差异的旧版本 – 两个.reg文件之间)。

你想做“穷人的快照”。 我在build立自己的第三方软件w / WIX的MSI时经常这样做。

进程监视器对于你想要做的事情可能有点太冗长了。 您可以尝试使用类似于以下内容的registry“快照”:

REGEDIT /E BEFORE.REG 

然后再次,所以你可以比较。

在文件系统中,我使用了免费软件实用程序“FileList”(参见http://www.jam-software.com/freeware/index.shtml )来生成文件系统的“之前”和“之后”快照。

现有文件中的修改是有问题的。 您可能需要采取初始快照,find已修改的文件,然后回滚(通常使用虚拟机和内置磁盘快照function进行回滚),并对每个文件进行“之前”快照你知道会被修改来比较“后”版本。

请记住,捕获什么更改与捕获安装程序的逻辑不同。 在可能的情况下,对安装程序进行反向工程更好,只是试图捕获什么变化。 由于您的快照计算机configuration的情况,您可能会错过您没有看到的细微差别。


旧版WinInstall 2003 LE与Windows 2000 Server相比,做了一个相当不错的工作,可以生成这些types的快照供参考,但是它生成的MSI是非常深的。 (我放弃了使用它,并开始像我上面所描述的那样,自己“亲手”做快照。)

检查完全卸载

它会从安装前后观看,并确切地告诉你该程序做了什么。

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

您可以使用Installshield产品来打开该软件包,这样您就可以知道它将执行什么操作,而无需真正安装它。 该产品还集成了捕捉工具来执行快照之前/之后的快照