可能重复:
寻找程序安装程序监视器或录像机
我想记录两个时间点之间系统发生的更改,包括重启期间。我有一个应用程序受到重启的不利影响。修复很容易,我只需运行安装程序,它就会自行“修复”。但我想知道被覆盖的是什么。可能是注册表,可能是文件,不确定。因此,问题来了。
Novell 曾经有一款名为 Zenworks 的工具,它附带一个用于记录系统更改的工具。您使用它来设置可部署的应用程序。现在是否存在类似的东西,我可以从某个地方下载?即它必须有一个消费者或开源价格标签/
谢谢
答案1
有很多种方法可以解决这个问题。
procmon 适合监控某个进程的行为,但是它不能提供系统变化的摘要。
有很多工具可以做到这一点,但我知道的唯一免费工具是微软的 sysdiff。它相当老旧并且结果中会包含很多噪音,但它应该可以完成工作。您可以运行第一步(分析系统),重新启动,运行第二步(分析和比较)。
如果您只想比较注册表更改,“regshot”就可以了。
解决问题的另一种尝试是检查在 Windows 启动时运行的内容(并破坏应用程序)。您可以手动使用 sysinternals autoruns 或常用位置(如启动文件夹和“运行”注册表项)
如果您的安装程序是 msi 文件,您可以让它在修复时写入日志文件并检查缺少哪个文件/regkey(使用 msiexec.exe /i mysetup.msi /l*vc:\mylog.log)
另一种方法是(也仅适用于 MSI)有选择地修复它并检查它是否再次工作。例如 msiexec /fu mysetup.msi(仅修复 HKCU 键,如果它现在工作,问题就是注册表键)msiexec /fo mysetup.msi(修复丢失的文件)等等
如果您需要有关特定方法的更多信息,请告诉我,我只是在这里为您提供概述。现在要写出每种方法的更多细节就有点多了:)
答案2
您可以使用SysInternals 的 ProcMon,以捕获所有注册表、文件系统和 DLL 操作。使用过滤器,您可以集中精力找出影响应用程序的因素。
过去,我使用了一个针对性更强的应用程序 AppSight(现在属于 BMC 软件)来解决此类问题,但它是一个非常昂贵的软件(> 10 万美元)。
ProcMon 应该可以为您完成此操作。