WIX如何打开自定义UI

时间:2011-05-31 07:45:37

标签: c# user-interface wix installer windows-installer

我有自己的安装UI(使用SharpSetup)。问题是,当我双击msi文件时,UI不会出现=>卸载时也一样。要查看UI,我必须双击我的UI progject => gui.exe

我正在寻找的是:

双击msi文件时是否可以启动UI? 如果有可能=>我怎么能这样做,如果我卸载它(添加/删除程序),我还必须包括UI?

谢谢

2 个答案:

答案 0 :(得分:1)

您必须使用EmbeddedUI元素才能指定您拥有自定义用户界面的文件。

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

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

一旦你这样做,你将不得不为每个动作提供对话框,因为没有任何默认股票将再次运行。

关于卸载,如果我没记错,自定义UI将仅在修复过程中显示,因此您可以触发修复而不是卸载以显示ui并从那里卸载。直接卸载过程应使用默认UI(卸载进度条)卸载应用程序

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

您可以查看更多信息here

答案 1 :(得分:0)

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