1

我知道修复安装有不同的方法,使用 UI(控制面板)或 CLI(msiexec.exe),但是:

我如何只列出在没有真正修复的情况下执行的操作。即显示“文件 xyz 丢失”。或“自安装后修改了文件 abc”而不恢复它们。(文件安装为 Vital 和 KeyFile)。

4

2 回答 2

3

Windows Installer 不会在该粒度级别公开有关其操作的信息。您可以编写一个外部 UI 处理程序来启动修复操作(::MsiConfigureProduct()设置后调用::MsiSetExternalUI()),然后在调用操作后评估组件状态InstallValidate。这应该能够让您获得与组件操作状态写入日志文件相同的信息。

于 2013-03-20T13:53:26.463 回答
2

这并不能回答您的问题,但根据您的兴趣,我建议您阅读:

应用程序弹性:解锁 Windows Installer 的隐藏功能

“挑战#1:自我调用的弹性”这个话题真的很有趣。它描述了应用程序与其安装程序之间的共生关系。MSI API 旨在供应用程序使用以增强运行状况检查,而不仅仅是通过 COM 激活和广告快捷方式的使用来简单地调用。

真的很不幸,在过去的 14 年里,很少有应用程序会费心把它带到这个水平。

于 2013-03-20T14:29:37.200 回答