我有自己的安装UI(使用SharpSetup)。问题是,当我双击msi文件时,UI不会出现=>卸载时也一样。要查看UI,我必须双击我的UI progject => gui.exe
我正在寻找的是:
双击msi文件时是否可以启动UI? 如果有可能=>我怎么能这样做,如果我卸载它(添加/删除程序),我还必须包括UI?
谢谢
答案 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文件。