在Visual Studio 2013中启用WiX项目

92

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

是否有人知道是否正在开发适用于VS 2013版本的WiX工具集?或者是否有一种方法可以使当前项目与VS 2013兼容?

Translated:

我有一个在VS 2012上的解决方案,其中包含WiX安装项目。然而,当我在VS 2013(Release)中打开该解决方案时,WiX项目不兼容。

是否有人知道是否已经开发了适用于VS 2013的WiX工具集?或者是否有一种方法可以使当前项目与VS 2013兼容?

7个回答

125

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

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


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

  2. 通过添加以下内容修改
    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>
    
  3. 打开VS2013本机工具命令提示符(在C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts中)并执行:

    devenv /setup

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


10
我猜这段话是从我的帖子中摘录的:http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-WiX-3-7-Votive-with-VS2013-RC-td7589257.html - Christopher Painter
1
需要注意的是,这不会完全支持VS2013。在WiX 3.8中还需要进行其他工作,才能使其他部分正常工作,例如C++项目模板。 - Christopher Painter
4
当时我在2013年10月14日发布了这些指令,当时VS2013还处于Release Candidate版本。但是这些指令和nabble链接中的指令是相同的。请参考链接了解详情。 - Chris Schiffhauer
1
请注意:如果您按照这些说明安装了3.7并安装了3.8,您可能会在加载wixproj文件时遇到以下错误:“WiX项目包”包未正确加载。如果出现此错误,请从以下位置中删除WiX目录:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\然后修复Wix 3.8设置以使其再次正常工作。 - urk_forever
我尝试在3.6版本上操作,但是在输入时没有获得任何智能感知提示。 :( - tommed
这个方法适用于我在使用WiX 3.9的Visual Studio 2015RC上。请记得以管理员身份打开本机工具命令提示符。我在C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\WiX下找到了这个扩展。 - Daz

21

+1 for the link。由于我之前使用的是3.8版本,所以这对我来说是一种自然而然的改进方案。 - Redeemed1
有人知道如何使用离线安装的二进制文件吗?似乎没有包含设置程序。 - Jeff

16

如果您在安装 WiX 之后安装了 VS2013,那么您将需要卸载 WiX,然后重新安装它。仅修复 WiX 安装是不够的。


1
好的,对我来说没有问题,但是我在修复后没有重新启动 - 同时在win2k8服务器上进行开发 - 其他操作系统可能会有所不同。 - Ruskin
1
抱歉,我有点急躁了。它对我也没用。 - James

2
运行Wix工具包安装程序后:
对于使用Visual Studio 2012和2013的Wix 3.8和3.9版本,需要在以下目录中删除所有缓存文件
"%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"命令产生所需的效果。

如果不先删除这些缓存文件,则可能会遇到包加载失败的问题。如果您的包加载失败,您将会在启动Visual Studio时遭遇惨败。


1
我在从WiX 3.8升级到3.9并在第一次与VS 2013配合使用时遇到了问题。我执行了以下步骤,然后它就可以工作了。谢谢! - Brad W

1

最新的Wix安装程序似乎可以在没有任何配置的情况下纠正安装问题。

  1. 关闭所有Visual Studios。运行https://wix.codeplex.com/releases/view/136891中的.exe文件。
  2. 一个漂亮的红色启动屏幕出现,点击标题为“install”的中心部分,这将重新安装您机器上所有版本的VS的Wix。

对我有效。


1

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


1

安装完Wix 3.9后,您需要重新启动Visual Studio 2013,然后重新加载Wix项目。 - Henry Disoza

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