将页面添加到安装程序 -Wix Toolset

Mat*_*Rat 4 c# wix

我正在寻找一种通过自己的界面向安装程序添加新页面的方法。最终,我希望我的安装程序依次执行许多操作,使用户能够转到下一页并检查或设置后续配置。

但目前我正在寻找如何添加一个在安装之前运行的附加页面,并检查计算机是否具有安装该应用程序所需的程序。我想将我准备好的代码附加到 c# 以检查这些程序是否安装在给定的计算机上。

通过使用本教程: https://www.youtube.com/watch? v=6Yf-eDsRrnM&t=7195s 我创建了安装程序的基本版本。在本教程中,我们使用创建安装程序WixUI_Minimal

我查看了文档,上面写着您可以创建自己的页面,但我找不到任何地方。例如,https ://wixtoolset.org/documentation/manual/v3/wixui/ 是自定义内置 WixUI 对话框集,但他们没有显示如何做到这一点。

Kar*_*are 5

2020 年 4 月 21 日更新

我创建了一个公共GitHub Gist,它解释了这些步骤,甚至包括一个PrerequisitesDlg.wxs具有最多5 个先决条件的自定义对话框,可以将其配置为 WiX 属性(文本和条件)。整个序列都包含在WixUI_KargWareFeatureTree.wxs.

2020 年 4 月 20 日之前发短信

您需要的元素是UIRef Element, Wix Toolset v3 Documentation

Wix Toolset 是一个开源项目,因此您可以在GitHub 上查看它,Wix Toolset v3

此处列出了 Wix 工具集中嵌入的对话框,Wix ToolSet 的默认 UI 对话框的源代码。我会使用其中WixUI_Advanced一个,但您可以选择所有其他的,甚至可以从头开始。

  1. 从 GitHub下载WixUI_Advanced.wxs
  2. 将文件复制wxs到您的 msi 项目的根目录(放置 *.wixproj 操作系统的位置)并将其命名为例如MyWixToolsetPages.wxs
  3. 编辑name里面的 UI xml 元素MyWixToolsetPages.wxs(靠近第 50 行)
  4. 添加MyWixToolsetPages.wxs到你的wixproject
  5. 替换或添加到UIRef中的参考元素product.wxs<UIRef Id="WixUI_MyWixToolsetPages"/>
  6. 将新对话框添加为<DialogRef Id="myNewPage" />
  7. Control使用“下一页”/“后退”和“事件”自定义页面顺序NewDialog
  8. 请注意在两个方向(下一个、下一个、下一个、结束)和(结束、后、后、后)测试您的序列

更改<UI Id="WixUI_Advanced"><UI Id="WixUI_MyWixToolsetPages">您的内部MyWixToolsetPages.wxs(从原始复制WixUI_Advanced.wxs

...
<UI Id="WixUI_MyWixToolsetPages">
...
Run Code Online (Sandbox Code Playgroud)

更换UIRef里面的product.wxs

...
<UIRef Id="WixUI_MyWixToolsetPages"/>
...
Run Code Online (Sandbox Code Playgroud)