使用NSIS检测windows 32位或64位

使用NSIS检测windows 32位或64位,nsis,Nsis,我正在尝试确定哪个Arquit体系结构具有操作系统。我正在使用以下代码: !include x64.nsh ${If} ${RunningX64} # 64 bit code ${Else} # 32 bit code ${EndIf} 但始终输入32位代码,尽管我在W7 x64操作系统上执行它。尝试运行以下命令: DetailPrint "NSIS=${NSIS_VERSION}" System::Call 'kernel32::GetCurrentProcess

我正在尝试确定哪个Arquit体系结构具有操作系统。我正在使用以下代码:

!include x64.nsh

${If} ${RunningX64}
    # 64 bit code
${Else}
    # 32 bit code
${EndIf}     
但始终输入32位代码,尽管我在W7 x64操作系统上执行它。

尝试运行以下命令:

DetailPrint "NSIS=${NSIS_VERSION}"
System::Call 'kernel32::GetCurrentProcess()i.r0'
DetailPrint "GetCurrentProcess=$0"
System::Call 'kernel32::IsWow64Process(ir0,*i.r1)i.r2?e'
pop $3
DetailPrint "IsWow64Process: ret=$2 gle=$3 result=$1"
在我的Win8 x64操作系统上,这为我提供了:

NSIS=v2.46
GetCurrentProcess=-1 
IsWow64Process: ret=1 gle=80 result=1

你确定没有别的事情发生吗?其他人一直在使用它,没有任何问题。您使用的是哪个NSIS版本?可能是