我知道修复安装有不同的方法,使用UI (控制面板)或命令行界面(msiexec.exe),但是:
我如何才能只列出那些本可以在没有真正修复的情况下执行的操作。例如,show "File xyz is missing“。或“文件abc自安装以来已修改”,而不恢复它们。(这些文件安装为Vital和KeyFile)。
发布于 2013-03-20 21:53:26
Windows安装程序不会在该粒度级别公开有关其操作的信息。您可以编写一个外部UI处理程序来启动修复操作(在设置::MsiSetExternalUI()之后调用::MsiConfigureProduct() ),然后在调用InstallValidate操作之后评估组件状态。这应该能够获得与写入日志文件的组件操作状态相同的信息。
发布于 2013-03-20 22:29:37
这并没有回答你的问题,但基于你的兴趣,我建议阅读:
Application Resiliency: Unlock the Hidden Features of Windows Installer
“挑战#1:自我调用的弹性”这个主题真的很有趣。它描述了应用程序和它的安装程序之间的共生关系。MSI API旨在由应用程序用来增强运行状况检查,而不仅仅是通过COM激活和广告快捷方式的使用来调用。
非常不幸的是,在过去的14年里,很少有应用程序愿意将其提升到这个级别。
https://stackoverflow.com/questions/15520666
复制相似问题