我想知道是否有办法检测安装程序影响哪些注册表设置。除了运行全尺寸 VM 然后以某种方式比较注册表配置单元的快照之外,还有其他选择吗?如果这是最佳方法,请分享您的经验。
这里的目标是找出某个程序在注册表中的哪个位置存储设置。在安装过程中或其他情况下。直接询问开发人员似乎是个好主意,但我以前遇到过这种情况(不知道程序在注册表中的哪个位置存储设置),我想找到解决这个问题的通用方法。
答案1
我对这些小型便携式应用程序的体验很好。RegFromApp
仅显示目标应用程序所做的更改。
RegFromApp v1.30(NirSoft)
RegFromApp 监视您选择的应用程序对注册表所做的更改,并创建一个标准的 RegEdit 注册文件 (.reg),其中包含该应用程序对注册表所做的所有更改。您可以在需要时使用生成的 .reg 文件将这些更改导入 RegEdit。
Regshot 是一个开源(LGPL)注册表比较实用程序,它允许您快速截取注册表快照,然后将其与第二个注册表进行比较 - 在进行系统更改或安装新软件产品后完成。
我自己的其他经历:
- 发生了什么变化:太慢了,即使在 SSD 上也是如此
- MJRegWatcher:很难确定哪些注册表更改重要,哪些不重要
第二种方法是将 Sandboxie 与 SandboxDiff 一起使用。
这样,您就有机会在接触实时系统之前查看将发生哪些更改。
Sandboxie 在隔离空间中运行您的程序,从而防止它们对您计算机中的其他程序和数据进行永久性更改。您还可以访问程序执行期间所做的所有更改。
SandboxDiff 允许在使用“Sandboxie”(由 Ronen Tzur 创建的一款出色的应用程序)时跟踪注册表和文件中的更改。SandboxDiff 会监控和列出由沙盒程序(或任何沙盒操作)创建/修改的所有注册表项和文件系统。当用户想要(在安装应用程序之前)了解安装程序在注册表和文件系统中所做的所有更改时,此功能非常有用。
答案2
你可以尝试运行进程探索器(微软提供的免费工具),您可以使用它来显示在安装过程中访问的所有文件和密钥。
将会显示大量信息,但您可以按应用程序进行过滤(您需要知道安装期间运行的应用程序,可能是 setup.exe 或 msiexec 之类的)。
答案3
Systracer 完美地满足了你的要求:
SysTracer 是一个系统实用工具,它可以扫描和分析您的计算机以查找注册表和文件中更改(添加、修改或删除)的数据。
有免费版本和付费版本。