如何在WiX 3安装程序中添加用户界面?

47

我尝试了<UIRef Id="WixUI_Minimal" />,但是出现了“Unresolved reference to symbol WixUI:WixUIMinimal”的错误。我做错了什么?

5个回答

91

wixui扩展不再是wixui.wixlib。它已经合并到WixUIExtension中。

如果您在命令行上运行,请在调用light.exe时添加-ext WixUIExtension

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

请参见WIX3的WiXUI对话框集页面


41
如果有人想知道dll在哪里,它应该在C:\ Program Files(x64)\ WiX Toolset [version] \ bin \中。 - Alejandro Moreno
10
为什么他们决定在那个文档页面上不包括任何Visual Studio指令,这超出了我的理解范围。 - Drazen Bjelovuk
1
对于你的2017年的问题,你可能正在使用NuGet来获取WixInstaller。如果是这样,DLL的位置是你的解决方案文件夹\packages\Wix<ver>\tools\WixUIExtension.dll。我将所有这些添加到我的MSI项目中(而不是EXE捆绑包)。它可以编译。哈哈。 - user922020
顺便提一下,您需要在解决方案中的Wix项目中添加DLL引用。 - Alan B

9
如果您直接通过MSBuild使用.wixproj,而不是通过Visual Studio,则需要进行以下修改:

.wixproj中添加以下内容:

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

你可以使用 Visual Studio 也插入这个代码片段。在项目资源管理器中通过右键单击项目名称来 卸载项目。然后双击项目名称。*.wixproj 文件将被打开,你可以编辑它。保存后重新加载该项目即可完成。 - Beauty

1
你需要在WIX项目中添加WixUIExtension的引用以解决此问题。


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

为Wix定制UIs


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接