使用Visual Studio 2010构建x64 WIX项目?

时间:2010-11-23 21:49:10

标签: visual-studio-2010 msbuild wix

我无法让VS2010为x64构建一个WIX项目 - 这意味着我可以添加平台,但它不会构建它。

重现的步骤:

  1. 新项目> Windows Installer XML>设置项目(使用默认名称,位置等)
  2. 构建&gt;配置管理器&gt; <有源解决方案平台>
  3. 新平台:x64
  4. 复制设置:x86
  5. 创建新的项目平台:已检查(我尝试未选中,也没有更好)
  6. 确定关闭“新建解决方案平台”对话框
  7. 返回Configuration Manager,为平台选择x64
  8. 关闭配置管理器
  9. 重新打开配置管理器
  10. 结果:平台已恢复为x86。

    预期结果:平台仍设置为x64。

    我错过了什么吗?我不能成为唯一碰到这个的人吗?

2 个答案:

答案 0 :(得分:6)

WiX绝对支持x64!我得到了同样的问题,这似乎是一个疯狂的问题,因为我也让它为x86和x64的另一个解决方案工作。所以我比较了两个解决方案文件,并找出了一个无效的问题。

GlobalSection(ProjectConfigurationPlatforms) = postSolution
    {HERE-IS-STANDING-A-GUID}.Debug|x64.ActiveCfg = Release|x86
    {HERE-IS-STANDING-A-GUID}.Debug|x64.Build.0 = Release|x86
    {HERE-IS-STANDING-A-GUID}.Debug|x86.ActiveCfg = Debug|x86
    {HERE-IS-STANDING-A-GUID}.Debug|x86.Build.0 = Debug|x86
    {HERE-IS-STANDING-A-GUID}.Release|x64.ActiveCfg = Release|x86
    {HERE-IS-STANDING-A-GUID}.Release|x64.Build.0 = Release|x86
    {HERE-IS-STANDING-A-GUID}.Release|x86.ActiveCfg = Release|x86
    {HERE-IS-STANDING-A-GUID}.Release|x86.Build.0 = Release|x86
EndGlobalSection

这是一个生成的非工作的。为了使它工作,我替换了“=”后面的前四个字符串,并做了一些x86和x64构建。这对我有用。

这是相同但有效的代码:

GlobalSection(ProjectConfigurationPlatforms) = postSolution
    {HERE-IS-STANDING-A-GUID}.Debug|x64.ActiveCfg = Debug|x64
    {HERE-IS-STANDING-A-GUID}.Debug|x64.Build.0 = Debug|x64
    {HERE-IS-STANDING-A-GUID}.Debug|x86.ActiveCfg = Debug|x86
    {HERE-IS-STANDING-A-GUID}.Debug|x86.Build.0 = Debug|x86
    {HERE-IS-STANDING-A-GUID}.Release|x64.ActiveCfg = Release|x64
    {HERE-IS-STANDING-A-GUID}.Release|x64.Build.0 = Release|x64
    {HERE-IS-STANDING-A-GUID}.Release|x86.ActiveCfg = Release|x86
    {HERE-IS-STANDING-A-GUID}.Release|x86.Build.0 = Release|x86
EndGlobalSection

希望这对你有用

答案 1 :(得分:3)

几分钟前我在VS2010中遇到了同样的问题。我通过这样做解决了这个问题:

  1. 关闭Visual Studio(可能是al实例)
  2. 对于wix项目,x64突然消失了....
  3. 为wix项目创建一个没有来自其他副本的新x64并取消选中create solution configuration复选框
  4. 保存解决方案并再次关闭VS.
  5. 再次打开您的项目
  6. 再次为wix项目选择x64。现在x64将保持......
  7. 奇怪但是有效: - )