Wix 3,删除退出对话框

时间:2011-01-18 09:46:39

标签: user-interface wix wix3

安装后是否可以跳过完成对话框?

我们之所以想要这样做是因为我们在第一次安装完成后启动了一个新安装,这是有效的。但是,在用户在“完成”对话框上按下完成后安装开始,但它应该运行新安装而不必按完成它以启动它。

我们使用的代码可以在以下网址找到:

https://gist.github.com/raw/784215/7f7cc7dca73e10fd7d991c3926269719d6b204c6/mycustomui.wxs

这是我想要做的几个步骤:

  • 用户运行.msi,显示带有语言的组合框的对话框
  • 用户在组合框中选择语言并按下“下一步”按钮
  • 安装程序解压缩/安装“真正的”msi然后退出,然后使用自定义操作以正确的参数启动“真正的”安装。

2 个答案:

答案 0 :(得分:1)

最适合您提到的场景的事情称为bootstrapper。有几种选择,你可以找到有趣的this thread。 BTW,据我所知,dotNetInstaller支持您开箱即用的语言场景。

答案 1 :(得分:0)

您目前使用<UIRef Id="WixUI_Common" /> 请参阅Customizing Built-in WixUI Dialog Sets上的“更改内置对话框的UI顺序”一章。这解释了如何自定义现有UI。以下是该页面的示例:

  

例如,删除   LicenseAgreementDlg来自   您可以使用WixUI_InstallDir对话框设置   执行以下操作:

     
      
  1. 复制定义的全部内容   WiX源中的WixUI_InstallDir.wxs   代码到你的项目。
  2.   
  3. 删除用于添加Back和Next的元素   LicenseAgreementDlg的事件。
  4.   
  5. 更改用于添加Next事件的元素   WelcomeDlg去了   InstallDirDlg而不是   LicenseAgreementDlg。例如:

    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">1</Publish>
    
  6.   
  7. 更改用于添加Back事件的元素   InstallDirDlg转到   WelcomeDlg而不是   LicenseAgreementDlg。例如:

    <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
    
  8.   

您还可以创建自己的UI定义。 (如果您不包含任何UI或UIRef,则根本不会有UI。)