WiX x64平台目标

时间:2011-05-09 00:23:36

标签: build wix 64-bit wix3.5

当我创建一个WiX项目并尝试在平台设置为'x64'的情况下构建它时,我的构建输出中出现错误,如下所示:

------ Build started: Project: MyProject, Configuration: Release x64 ------
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(444,7): error : The OutputPath property is not set for this project.  Please check to make sure that you have specified a valid Configuration/Platform combination.  Configuration='Release'  Platform='x64'
Done building project "MyProject.wixproj" -- FAILED.
------ Build started: Project: MyProject, Configuration: Debug x64 ------
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(444,7): error : The OutputPath property is not set for this project.  Please check to make sure that you have specified a valid Configuration/Platform combination.  Configuration='Debug'  Platform='x64'
Done building project "MyProject.wixproj" -- FAILED.

它声称没有为项目设置输出路径,但当然有。调试配置的输出路径设置为bin\x64\Debug\,发布配置的输出路径设置为bin\x64\Release\。那是什么错误?

此外,错误不会显示在“错误”窗口中。现在,我知道责备编译器是一个新手的错误,但我开始怀疑......这是一个构建工具错误,还是我错过了一些愚蠢的东西?

4 个答案:

答案 0 :(得分:52)

如果在文本编辑器中打开.wixproj文件,您将看到x64配置项位于文件的底部(在导入标准WiX构建目标之下),并且您的x86配置位于顶部(进口以上)。如果你移动x64配置的XML以使它与x86配置相邻,那么你会发现你的项目适用于两个平台。

答案 1 :(得分:11)

我有同样的问题。但是,在我的情况下,wixproj文件没有格式错误,但是

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">

完全失踪了。刚刚制作了x86配置的副本,保存了,一切都很好。

答案 2 :(得分:0)

首先确保您使用的是最新版本的WiX工具集(v3.5或当前v3.6 drop)。如果这仍然在那里再现它听起来像一个错误。请在此处提交:http://sourceforge.net/tracker/?group_id=105970&atid=642714

答案 3 :(得分:0)

警告:WiX 可以在不同的 中插入多个实例:

    <DefineConstants>Foo=Bar</DefineConstants>
    <DefineConstants>Foo=</DefineConstants>

从而覆盖您想要的设置。您需要手动仔细编辑 .WIXPROJ 文件并注意重复项。