WIX如何打开自定义UI

本文关键字:UI 自定义 何打开 WIX | 更新日期: 2023-09-27 17:57:57

我有自己的安装UI(使用SharpSetup)。问题是,当我双击msi文件时,UI不会显示=>卸载时相同。要查看UI,我必须双击我的UI项目=>gui.exe

我要找的是:

当我双击msi文件时,是否可以启动UI?如果可能=>我如何做到这一点,以及如果我卸载它(添加/删除程序),UI也会出现,我必须包括什么???

感谢

WIX如何打开自定义UI

您必须使用EmbeddedUI元素才能指定具有自定义UI的文件。

示例(其中自定义UI位于dll中):

<UI>
    <EmbeddedUI Id="EmbeddedUI.dll" SourceFile="..'EmbeddedUI'EmbeddedUI.dll"/>
</UI>

一旦你这样做了,你就必须为每个动作提供对话框,因为默认的库存对话框都不会再运行了。

关于卸载,如果我没记错的话,自定义UI只会在修复过程中显示,所以你可以触发修复而不是卸载来显示UI并从那里卸载。卸载过程应直接卸载具有默认UI的应用程序(卸载进度条)

根据MSDN:"自定义UI DLL,在本例中为embedui.DLL,应导出用户定义的InitializeEmbeddedUI、EmbeddedUIHandler和ShutdownEmbeddedUI函数。"

您可以在此处查看更多信息。

SharpSetup使用外部UI,而不是嵌入式UI。在典型的场景中,msi文件不包含任何UI,因此您所观察到的内容是非常期望的。但是,您不应该将独立的.msi文件部署到客户端,而应该只部署包含所有必需文件(包括.msi文件和gui.exe)的Installer.exe文件。