Visual studio 以32位而不是64位运行的Visual Studio.msi

Visual studio 以32位而不是64位运行的Visual Studio.msi,visual-studio,installation,64-bit,windows-installer,Visual Studio,Installation,64 Bit,Windows Installer,我正在使用VisualStudio为我的项目生成安装程序。我以任何CPU的身份编译解决方案,并且安装程序中的目标平台设置为x64。问题是,当我运行安装程序时,它以x86而不是x64运行。这是一个问题,因为我正在使用外接程序express,它要求代码在安装时是可执行的,并且我在项目中访问64位注册表。因此,该程序安装成功,但仅在由于在WOW6432Node而不是标准的64位目录中查找注册表项而引发大约10个错误后安装 如何使安装程序以64位而不是32位运行,或者这是不可能的 谢谢。Visual S

我正在使用VisualStudio为我的项目生成安装程序。我以任何CPU的身份编译解决方案,并且安装程序中的目标平台设置为x64。问题是,当我运行安装程序时,它以x86而不是x64运行。这是一个问题,因为我正在使用外接程序express,它要求代码在安装时是可执行的,并且我在项目中访问64位注册表。因此,该程序安装成功,但仅在由于在WOW6432Node而不是标准的64位目录中查找注册表项而引发大约10个错误后安装

如何使安装程序以64位而不是32位运行,或者这是不可能的


谢谢。

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

在这个问题中有些东西是不正确的。项目安装后是以32位还是64位模式运行与安装程序的位无关。如果安装程序将EXE放在c:\program文件中而不是c:\program文件(x86)中,那么它是好的。当EXE项目以任何CPU为目标并且安装并启用了64位版本的框架时,您的程序在安装后以64位模式运行。我意识到这与安装程序的位无关。我指的是产品外接程序Express中特别出现的问题。我不生成.exe,而是生成一个DLL,然后使用他们的.exe(特别是adxregistrator.exe)激活该DLL。很抱歉,我在这个问题上含糊不清,但我不完全理解幕后操作。现在我已经有时间进一步思考了,我怀疑问题是他们的.exe运行模拟为32位,即使我的.msi明确以64位为目标,我也在继续这种怀疑。到底什么是“外接程序Express”?联系供应商以获得支持。