WIX 安装程序 - 无法更改平台并将其保存为 64 位

WIX Installer - Unable to change and save the platform to 64 bit

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

使用的 WIX 版本:3.9

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

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

请提出任何解决方案。

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

我遇到了同样的问题。这是非常令人沮丧的。 我以某种方式解决了这个问题:

  1. 打开配置管理器
  2. 创建新的 "x64" 解决方案平台,不从 x86 和 "Create new solution platforms" 中复制设置。
    1. 确保在此配置管理器中 window,项目的活动解决方案平台和平台下拉列表均为 x64。如果需要,请从配置管理器中删除 x86 选项
    2. 转到“项目属性”>“构建”选项卡
    3. 确保平台 dropbox 显示 Active(x64),如果不是,select 它。
    4. Re-open Build 选项卡并检查它是否仍然具有 Active(x64)。有时,当我将其设置为 x64 时,构建活动平台会切换到 x86,但您首先需要确保设置了步骤 3。

Justin 的解决方案对我不起作用。虽然我可以创建 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) 重新打开项目。 Select 配置管理器。

在项目上下文下,您现在可以在下拉列表中 select x64。做吧。

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

(6) 最后一步将解决方案平台的设置同步到项目平台,这样四个配置 |平台配对相同

第 3 步的来源:WIX project fails building in X64 platform