BlueGene Asked: 2009-06-11 09:07:55 +0800 CST2009-06-11 09:07:55 +0800 CST 2009-06-11 09:07:55 +0800 CST 在软件/补丁安装期间跟踪对系统的更改 772 假设我正在 Windows 上安装一个软件,我想查看它在安装过程中所做的所有更改,什么是跟踪系统更改的最简单方法。更改可能发生在程序/系统文件或注册表等中,是否有跟踪更改的工具?这在例如补丁安装中可能很有用,管理员可能希望跟踪它所做的所有更改。 windows windows-server-2003 patch-management 4 个回答 Voted Evan Anderson 2009-06-11T09:28:06+08:002009-06-11T09:28:06+08:00 你想做“穷人的快照”。在为带有 WIX 的第三方软件构建自己的 MSI 时,我经常这样做。 Process Monitor 对于您正在尝试做的事情可能有点过于冗长。您可以尝试使用以下方式制作注册表的“快照”: REGEDIT /E BEFORE.REG 然后再一次,这样你就可以比较了。 对于文件系统,我使用免费软件实用程序“ FileList ”生成文件系统的“之前”和“之后”快照。 现有文件内的修改是有问题的。您可能必须拍摄初始快照,找到已修改的文件,然后回滚(我通常使用 VM 和内置磁盘快照功能进行回滚)并拍摄每个文件的“之前”快照您知道将进行修改以与“之后”版本进行比较。 请记住,捕获更改与捕获安装程序的逻辑不同。在可能的情况下,最好对安装程序进行逆向工程,而不是仅仅尝试捕获哪些更改。由于快照计算机的配置情况,您可能会错过没有看到的细微差别。 Windows 2000 Server 附带的旧 WinInstall 2003 LE 在生成此类快照以供参考方面做得相当不错,但它生成的 MSI 非常糟糕。(我放弃了使用它并开始自己“手动”制作快照,如上所述。) Best Answer l0c0b0x 2009-06-11T09:19:15+08:002009-06-11T09:19:15+08:00 Sysinternal 的进程监视器在这里可能会派上用场。虽然它可能有点过于冗长,但您可以过滤掉其他流程并进行调整,直到它最适合您。启动它并扫描,然后开始安装并在完成后停止。 进程监视器 http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx 可能还有其他特定于已启动二进制安装的免费解决方案,但我不知道它们。 快速更新 我同意 Evan 的观点,至少对于注册表而言,如果它过于冗长,您可能希望在安装前后运行导出。Windows 2003 支持工具附带了windiff.exe(用于查找注册表差异的老工具——两个.reg 文件之间的差异)。 MathewC 2009-06-11T10:21:46+08:002009-06-11T10:21:46+08:00 查看总卸载 它会在安装前后观察,并准确告诉您该程序做了什么。 http://www.martau.com/tu_download.php Mathieu Chateau 2009-06-11T11:04:14+08:002009-06-11T11:04:14+08:00 您可以使用 Installshield 产品来打开软件包,这样您就知道它会做什么,而无需真正安装它。该产品还集成了一个捕获工具来做之前/之后的快照
你想做“穷人的快照”。在为带有 WIX 的第三方软件构建自己的 MSI 时,我经常这样做。
Process Monitor 对于您正在尝试做的事情可能有点过于冗长。您可以尝试使用以下方式制作注册表的“快照”:
然后再一次,这样你就可以比较了。
对于文件系统,我使用免费软件实用程序“ FileList ”生成文件系统的“之前”和“之后”快照。
现有文件内的修改是有问题的。您可能必须拍摄初始快照,找到已修改的文件,然后回滚(我通常使用 VM 和内置磁盘快照功能进行回滚)并拍摄每个文件的“之前”快照您知道将进行修改以与“之后”版本进行比较。
请记住,捕获更改与捕获安装程序的逻辑不同。在可能的情况下,最好对安装程序进行逆向工程,而不是仅仅尝试捕获哪些更改。由于快照计算机的配置情况,您可能会错过没有看到的细微差别。
Windows 2000 Server 附带的旧 WinInstall 2003 LE 在生成此类快照以供参考方面做得相当不错,但它生成的 MSI 非常糟糕。(我放弃了使用它并开始自己“手动”制作快照,如上所述。)
Sysinternal 的进程监视器在这里可能会派上用场。虽然它可能有点过于冗长,但您可以过滤掉其他流程并进行调整,直到它最适合您。启动它并扫描,然后开始安装并在完成后停止。
进程监视器
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
可能还有其他特定于已启动二进制安装的免费解决方案,但我不知道它们。
快速更新
我同意 Evan 的观点,至少对于注册表而言,如果它过于冗长,您可能希望在安装前后运行导出。Windows 2003 支持工具附带了windiff.exe(用于查找注册表差异的老工具——两个.reg 文件之间的差异)。
查看总卸载
它会在安装前后观察,并准确告诉您该程序做了什么。
http://www.martau.com/tu_download.php
您可以使用 Installshield 产品来打开软件包,这样您就知道它会做什么,而无需真正安装它。该产品还集成了一个捕获工具来做之前/之后的快照