2011-08-22 3 views
0

아래 스크립트를 스크립트의 여러 부분에서 사용하고 있습니다.

${If} ${RunningX64} 
; 64bit bits go here 
${Else} 
; 32bit bits go here 
${EndIf} 

한 기능에서는 완벽하게 실행되지만 다른 호출은 올바르게 실행 된 초기 호출 이후에 사용되지 않으면 작동하지 않습니다.

이 동작에 대한 논리적 인 이유를 찾을 수 없었습니다. LogicLib.nsh 및 x64.nsh 헤더 파일을 모두 포함했지만 64 비트 섹션을 통과합니다.

무엇이 될 수 있습니까? 매크로를 사용하기 전에 초기화 할 매크로가없는 것 같습니다. 어떤 아이디어?

답변

1

나는 GetVersion 플러그인이 방법을 사용하고 있습니다 :

Var WINDOWS_ARCHITECTURE 

GetVersion::WindowsPlatformArchitecture 
Pop $WINDOWS_ARCHITECTURE ; 32 or 64