【问题标题】:Visual Studio .msi running as 32 bit instead of 64 bitVisual Studio .msi 作为 32 位而不是 64 位运行
【发布时间】:2012-09-28 17:40:32
【问题描述】:

我正在使用 Visual Studio 为我的项目生成安装程序。我正在将解决方案编译为 Any CPU,并且我将安装程序中的目标平台设置为 x64。问题是当我运行安装程序时,它运行为 x86,而不是 x64。这是一个问题,因为我使用的 Add-In express 要求代码在安装时可执行,并且我访问了项目中的 64 位注册表。结果,程序安装成功,但由于在 WOW6432Node 而不是标准的 64 位目录中查找注册表项而引发了大约 10 个错误。

如何让安装程序以 64 位而不是 32 位运行,否则这是不可能的。

谢谢。

【问题讨论】:

  • 这个问题没有加起来。您的项目在安装后以 32 位还是 64 位模式运行与安装程序的位数没有任何关系。如果安装程序将您的 EXE 放在 c:\program files 而不是 c:\program files (x86) 中,那很好。当 EXE 项目以 AnyCPU 为目标并且安装并启用了 64 位版本的框架时,您的程序在安装后以 64 位模式运行。
  • 我意识到这与安装程序的位数无关。我指的是一个专门与产品 Add-in Express 相关的问题。我没有生成 .exe,我生成了一个 DLL,然后使用他们的 .exe(特别是 adxregistrator.exe)激活该 DLL。我很抱歉在这个机制中含糊不清,但我并不完全了解幕后操作。现在我有时间进一步考虑它,我怀疑问题是他们的 .exe 运行模拟为 32 位,即使我的 .msi 明确针对 64 位,我正在追查这种怀疑。
  • 究竟什么是“Add-in Express”?联系供应商寻求支持。

标签: visual-studio installation 64-bit windows-installer


【解决方案1】:

Visual Studio 始终生成 x86 兼容的安装项目。要访问 WOW6432Node 键,您需要创建一个自定义操作应用程序(为 ANYCPU 构建的 .exe 文件)并将其添加到安装项目的自定义操作编辑器中。在这种情况下,您的代码将默认在 x64 平台上作为 x64 应用程序运行。

【讨论】:

    猜你喜欢
    • 2019-09-27
    • 2013-11-26
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多