为了在通过下载的.msi文件更新应用程序时提供自定义更友好的UI,我必须提供一个自定义(WPF,如果它很重要)窗口,它将通过调用MSI.DLL来复制msiexec正在做的事情。通过互操作的功能。
最初,这是对下载的.msi文件的一个简单的msiexec调用,如果它能保持这么简单就会很好。
我还需要像msiexec一样提供取消功能。
通过MSI.DLL函数以编程方式启动/停止/中止的正确方法是什么?
(我所做的是查看不同的MSI Interop实现,包括WiX,但不能轻易识别API来执行此操作)。
答案 0 :(得分:1)
这就是MSI所谓的“外部UI处理程序”。有关详细信息,请参阅MSI SDK,例如“使用MsiSetExternalUI监视安装。”
答案 1 :(得分:0)
谢谢大家,阅读你发布的内容是一次有趣的学习经历。
然而事实证明我没有在StackOverflow上挖掘得足够多,我的问题已经发布并在这里回答:
How to interactive a silently installing msi? (Progress data and cancel it)