测试安装包时如何记录注册表改动

测试安装包时,建议用“安装前后对比 + 实时监控”两种方式记录注册表改动。
方法一:用 Regshot 做前后对比
适合快速查看安装包新增、修改或删除了哪些键值。
- 以管理员身份运行 Regshot。
- 选择 64 位扫描(如果系统和安装包涉及 64 位注册表),点击 1st shot。
- 安装软件,按需要启动一次并完成配置。
- 回到 Regshot,点击 2nd shot,再生成比较报告。
- 保存报告,重点检查
HKLM、HKCU、HKCR、HKU等项。
为避免干扰,测试前尽量关闭其他程序,并在干净的虚拟机快照中操作。
方法二:用 Process Monitor 实时记录
适合确认哪个进程在安装时修改了注册表。
- 以管理员身份运行 Microsoft Sysinternals 的 Process Monitor(Procmon)。
- 清空当前事件:
Ctrl+X。 - 设置过滤条件,例如:
Operation是RegCreateKey、RegSetValue、RegDeleteKey或RegDeleteValueProcess Name是安装程序进程名,或其子进程名
- 开始捕获,运行安装包,再停止捕获。
- 用
Ctrl+F搜索软件名、厂商名或安装目录相关路径。 - 通过 File → Save 保存为
.PML(保留完整事件),必要时另存为 CSV。
安装程序可能会启动 msiexec.exe、服务进程或自解压子进程;只过滤最初的安装程序可能漏掉实际改动者。Procmon 中可查看事件的进程、操作、注册表路径和数据。
MSI 安装包的补充
如果是 .msi,可以启用 Windows Installer 日志:
msiexec /i package.msi /L*V install.log
该日志有助于追踪安装流程,但不一定能完整替代注册表快照或 Procmon。
推荐组合:在虚拟机快照中用 Regshot 获取整体差异,同时用 Procmon 定位具体进程和操作。注意注册表中可能包含用户名、路径或其他敏感信息,分享日志前应先检查并脱敏。