为什么Windows Installer在删除期间不会使用.msi文件中的UI?

时间:2010-03-29 19:14:14

标签: wix windows-installer

是否有人能够让Windows Installer在删除期间使用InstallUISequence表?

我开始使用由Visual Studio msi构建器生成的MSI文件,将其反编译为WiX源代码并手工制作,但我无法让安装程序在删除期间使用 my UI。它坚持使用Windows Installer提供的默认UI。

我还分析了几个MSI文件,我无法找到Windows Installer在删除过程中使用提供的UI的地方。

我在删除过程中捕获了msiexec日志,果然,Windows Installer似乎忽略了InstallUISequence表。

似乎msiexec在删除期间以最小的UI运行。如果在删除期间指定/ qf开关(使用完整UI),则Windows Installer会从.msi文件中获取UI。但是,这对常规用户没有帮助,因为她不会从msiexec中删除。

有没有人知道如何说服Windows Installer默认使用MSI文件中的UI?

2 个答案:

答案 0 :(得分:6)

从“添加/删除程序”中删除应用程序时,将始终使用“基本”UI运行。

您不能使用完整的UI运行卸载,您可以做的最好的事情是阻止删除并强制人们“修改”(使用UI运行)并从那里删除。

无论你做什么,仍然无法阻止某人右键点击原始MSI并选择“删除”,这将始终使用基本UI运行。

答案 1 :(得分:1)

“为什么”基本上是因为微软这么说。 :-)不能说我不同意,因为当我试图删除一个程序时,当ISV变得很可爱时我会生气。