如何将 UI 添加到 WiX 3 安装程序?

Posted

技术标签:

【中文标题】如何将 UI 添加到 WiX 3 安装程序?【英文标题】:How to add a UI to a WiX 3 installer? 【发布时间】:2009-02-27 22:27:57 【问题描述】:

我试过<UIRef Id="WixUI_Minimal" />,但我得到“未解决对符号 WixUI:WixUIMinimal 的引用”。我做错了什么?

【问题讨论】:

【参考方案1】:

wixui 扩展名不再是 wixui.wixlib。它被卷入了 WixUIExtension。

如果您在命令行上,请将 -ext WixUIExtension 添加到对 light.exe 的调用中。

如果您在 Visual Studio 中有一个 WiX 项目,请通过右键单击 Solution Explorer 中的“引用”来添加对“WixUIExtension”的引用。

请参阅WiXUI Dialog Sets page for WIX3。

【讨论】:

如果有人想知道 dll 在哪里,它应该在C:\Program Files (x64)\WiX Toolset [version]\bin\ 为什么他们决定不在该文档页面上包含任何 Visual Studio 指令,我无法理解。 为什么dll 的位置没有记录在guides 中?首先阅读文档(他们提到您必须添加一些参考),最终在互联网上搜索以找出该参考的位置是迟缓的。它甚至不在答案中,而是隐藏在 SO 答案的评论中...... 对于您的 2017 年问题,您可能正在使用 NuGet 获取 WixInstaller。如果是这样,DLL 的位置是您的解决方案文件夹\packages\Wix\tools\WixUIExtension.dll。我将所有这些都添加到我的 MSI 项目(不是 EXE 包)中。它编译。哈哈 FWIW,您需要在解决方案中添加对 Wix 项目的 DLL 引用。【参考方案2】:

如果你直接通过MSBuild使用.wixproj,没有Visual Studio,需要的修改是添加这个:

<Project ...>
  ...
  <ItemGroup>
    <WixExtension Include="WixUIExtension">
      <HintPath>$(WixToolPath)WixUIExtension.dll</HintPath>
      <Name>WixUIExtension</Name>
    </WixExtension>
  </ItemGroup>
  ...
</Project>

【讨论】:

您也可以使用 Visual Studio 插入此代码 sn-p。 ...在项目资源管理器中卸载项目,右键单击项目名称。然后双击到项目名称。 *.wixproj 文件打开,您可以编辑它。保存后重新加载项目,你就完成了。【参考方案3】:

见Re: (WiX-users) How to get off the ground with WixUI_Minimal?

【讨论】:

【参考方案4】:

下面是一个关于如何自定义 WixUIExtensions 的好示例的链接。

Customised UIs for Wix

【讨论】:

【参考方案5】:

您需要在 WIX 项目中添加 WixUIExtension 的引用来解决此问题。

【讨论】:

以上是关于如何将 UI 添加到 WiX 3 安装程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 wix 自定义引导程序卸载 UI 在升级过程中显示

Wix 快速开发安装包程序 使用简单的UI

如何实现 WiX 安装程序升级?

WiX - 将 InstallScope 从 perUser 切换到 perMachine

使用 WIX 安装程序在自定义操作中停止设置错误

如何使用 wix 安装程序添加公司名称