在 Visual Studio 2013 中启用 WiX 项目

Posted

技术标签:

【中文标题】在 Visual Studio 2013 中启用 WiX 项目【英文标题】:Enable WiX project in Visual Studio 2013 【发布时间】:2013-10-27 05:15:57 【问题描述】:

我有一个带有 WiX 安装程序项目的 VS 2012 解决方案。但是,当我在 VS 2013 (Release) 中打开解决方案时,WiX 项目不兼容。

有人知道 VS 2013 版本(wixtoolset 吗?)在哪里/是否可用?或者有没有办法让当前项目在 VS 2013 中兼容?

【问题讨论】:

【参考方案1】:

您必须升级您的 wix 并安装 WIX 3.9 以使您的 WIX 项目与 vs 2013 兼容。 下面是下载wix 3.9的链接 https://wix.codeplex.com/releases/view/136891

【讨论】:

安装 wix 3.9 后,您必须重新启动 Visual Studio 2013..然后重新加载 wix 项目..【参考方案2】:

最新的 Wix 安装程序似乎无需任何配置即可更正安装。

    关闭所有视觉工作室。运行.exe https://wix.codeplex.com/releases/view/136891。 出现一个漂亮的红色启动画面,单击标题为“安装”的中心部分,这 为您机器上所有版本的 VS 重新安装 Wix。

为我工作。

【讨论】:

【参考方案3】:

运行 wix 的工具包安装程序后:

对于 Wix 3.8 和 3.9,以及 Visual Studio 2012 和 2013,我需要删除所有缓存文件

"%appdata%..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache" (对于 VS 2012)和 “%appdata%..\Local\Microsoft\VisualStudio\12.0\ComponentModelCache” (对于 VS 2013)分别。

删除这些文件后,在每个VS版本的命令提示符下执行:

devenv /setup

例如"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv /setup"

和“C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv /setup”

只有在我删除了这些文件并重新启动机器后,执行“devenv /setup”才有预期的效果。

如果没有先删除这些缓存文件,那么您可能会遇到包无法正确加载的问题。你会知道你的包是否加载失败,因为 VS 在启动时会失败。

【讨论】:

我在从 WiX 3.8 升级到 3.9 并且第一次使用 VS 2013 时遇到了问题。我做了这一步,它奏效了。谢谢!【参考方案4】:

2013 年 12 月 2 日更新: WiX 工具集 3.8 发布,正式支持 Visual Studio 2013 版本。可从wixtoolset.org下载。

您可以手动启用 Visual Studio 2013 与旧版 WiX 的兼容性:

    复制C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\WiXC:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\WiX

    修改C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\WiX\extension.vsixmanifest,添加以下内容:

    <VisualStudio Version="12.0">
        <Edition>Ultimate</Edition>
        <Edition>Premium</Edition> 
        <Edition>Pro</Edition>
        <Edition>Express_All</Edition>
    </VisualStudio>
    

    然后打开VS2013 Native Tools 命令提示符(来自C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts)并执行:

    devenv /设置

当您打开 Visual Studio 2013 时,WiX 3.7 项目将兼容。

【讨论】:

我猜这是取自我的帖子:windows-installer-xml-wix-toolset.687559.n2.nabble.com/… 需要注意的是,这不会完全支持VS2013。 WiX 3.8 中还有其他工作可以使其他部分正常工作,例如 C++ 项目模板。 我在 10 月 14 日 VS2013 发布候选版本时有blogged these instructions,早在这个问题之前。但说明与 nabble 链接中的说明相同。 仅供参考:如果您已按照 3.7 的这些说明安装 3.8,您可能会在加载 wixproj 文件时收到此错误:The 'WiX Project Package' package did not load correctly. 我明白了,从 `C:\Program Files ( x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft` 并修复 Wix 3.8 设置以使其再次运行。 我在 3.6 上试过这个,但在打字时没有得到任何智能感知。 :(【参考方案5】:

如果您 WiX 之后安装 VS2013,则必须先卸载 WiX,然后重新安装。仅仅修复 WiX 安装是不够的。

【讨论】:

好的,对我来说不是,但我在修复后没有重新启动-也在win2k8服务器上开发-其他操作系统可能不同 对不起,我操之过急。它对我也不起作用。【参考方案6】:

只需更新到 WiX v3.8,它确实支持 VS2013:http://wixtoolset.org/releases/v3.8/stable

【讨论】:

+1 链接。因为我使用的是早期的 3.8 版本,所以这对我来说是一个自然改进的解决方案。 有谁知道如何使用二进制文件进行离线安装?似乎没有包含安装程序。【参考方案7】:

使用 WiX 3.7,即使您无法在 Visual Studio 2013 中打开 wixproj,它也会使用 MSBuild 进行编译,以获得 VS2013 解决方案。 (更改 wixproj ToolsVersion="12.0")

【讨论】:

以上是关于在 Visual Studio 2013 中启用 WiX 项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2013 中使用 CDialog 类启用按钮的属性页

为 Visual Studio 2013 启用 ASP.NET 配置

如何在 Visual Studio 2013 中为 Cordova 应用程序启用断点

Visual Studio VC2013 在没有 AVX 的情况下启用 SSE4.1

在 Visual Studio 2012 中编译启用 CLR 的 C++ 项目时出现 C2248 错误

设置公共语言运行时支持后,无法在 Visual Studio 2013 中调试 C++ [重复]