6

在此处输入图像描述

IDE:- VS.NET 2013(更新 2)

使用的 WIX 版本:3.9

Windows 服务 MSI :- 我无法将平台更改为 x64 位并保存。如果我将其更改为 x64 选项并保存构建属性并关闭属性窗口,然后再次重新打开属性窗口。x86 选项再次弹出。虽然项目中使用的 DLL 是基于 64 位的。

这是非常烦人和令人沮丧的。在我点击 ServiceSetup 项目上的 Build 后,生成了 .MSI 文件。MSI 包含基于 32 位的 Windows 服务 .exe 文件。我希望 Windows 服务 .exe 文件为 64 位。

请提出任何解决方案。

4

3 回答 3

3

这是 WiX v3.9 中的一个已知错误:https ://github.com/wixtoolset/issues/issues/3918

于 2015-02-05T19:34:37.067 回答
3

我有同样的问题。这非常令人沮丧。不知何故,我通过以下方式解决了它:

  1. 打开配置管理器
  2. 创建一个新的“x64”解决方案平台,而不从 x86 复制设置并选中“创建新的解决方案平台”。
    1. 确保在此配置管理器窗口中,项目的活动解决方案平台和平台下拉菜单都是 x64 .. 如果需要,请从配置管理器中删除 x86 选项
    2. 转到项目属性>构建选项卡
    3. 确保平台 dropbox 显示 Active(x64),如果不是,请选择它。
    4. 重新打开 Build 选项卡并检查它是否仍然具有 Active(x64)。有时构建活动平台在我将其设置为 x64 时会切换到 x86,但您首先需要确保设置了第 3 步。
于 2019-05-29T00:29:23.993 回答
0

贾斯汀的解决方案对我不起作用。虽然我可以创建 x64 平台,但 x86 顽固地作为唯一的选择回来了。我的解决方案如下:

(1) 为 WiX v3 创建一个新的安装项目。

(2) 关闭解决方案并在记事本+ 等外部编辑器中打开 .wixproj 文件。

(3) 该文件仅包含 x86 的 PropertyGroup 元素。之后插入以下 PropertyGroup 元素:

<!-- Insert -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
  <DefineConstants>Debug</DefineConstants>
  <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
  <IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
  <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
  <IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>

(4) 重新打开项目。选择配置管理器。

在此处输入图像描述

在 Project contexts 下,您现在可以在下拉列表中选择 x64。去做吧。

(5) Active solution platform 的下拉列表中仍然只有 x86。选择“New…” 在“New Solution Platform”对话框中创建 x64 平台。

(6)在最后一步将解决方案平台的设置与项目平台同步,使四个配置| 平台对是相同的。

第 3 步的来源:WIX 项目在 X64 平台中构建失败

于 2020-06-01T10:33:15.170 回答