如何构建wix工具集项目?

use*_*837 1 wix visual-studio

我已经安装了 Wix 工具集 3.11.0.1528 和 VS 2015 0.9.17.13693 的扩展

按下后build我得到:

必须安装 WiX Toolset v4 构建工具才能构建此项目。要下载 WiX 工具集 v4,请访问...

我不明白。我安装了 3.11 版,它想要 v4。我不想从源头构建任何东西。

我应该怎么做才能使用可用的 WiX 版本?

use*_*837 5

啊。好的。在 VS 项目经理(或其他任何称呼)处,当您添加 时New project,您有两个几乎相同的选择:

  • 安装项目 - 用于创建 MSI 文件的项目
  • 安装项目 - 创建基于 WiX 的 XML MSI 文件的项目

所以第一个使用 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" ...

第二个: <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" ...

第二个失败。仅更改此网址无济于事。

选择第一个变体并使用它。


Rob*_*Hay 5

有点死灵帖,但如果有人觉得它有帮助,那么,很好。

通过将名称空间从 v4 替换为 v3 来编辑上面指出的 XML。

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"/>
Run Code Online (Sandbox Code Playgroud)

然后编辑您的设置的 proj 文件并删除对 WIX 目标路径的引用。

<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\WiX Toolset\v4\wix.targets</WixTargetsPath>
Run Code Online (Sandbox Code Playgroud)

最后,用 3.11 版本的代码替换 import 和 target 标签。

    <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
  <Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
    <Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
  </Target>
Run Code Online (Sandbox Code Playgroud)