내 응용 프로그램에 맞는 설치 폴더를 설정하려고합니다. 설치 프로그램이 32 비트 또는 64 비트 시스템 용인지 감지 할 수 있습니까? 이제 x64 시스템에 x32 응용 프로그램을 설치하면 InstallDir이 올바르지 않습니다.NSIS 설치 프로그램 - 설치 프로그램 및 시스템 정의 x32/x64
x32 및 x64 설치 프로그램 용 빌드 스크립트가 하나 있는데 x64.nsh을 사용하여 프로그램 파일 경로를 정의합니다. 그러나 여기에 문제가 있습니다 : 설치 프로그램이 x64 시스템을 감지하더라도 현재 빌드가 x32이면 "C : \ Program Files (x86)"대신 "C : \ Program Files"에 계속 설치됩니다.
최악의 경우 두 설치자 (x32, x64)에 대해 두 개의 빌드 스크립트를 만들어야하지만 필자는이를 피하고 싶습니다.
그래서 설치자이 32 또는 64 비트 시스템 용인지 확인하는 방법이 있습니까?
먼저 감사를 다음 NSI 스크립트 자체에 이런 래퍼 NSI 스크립트 응용 프로그램의 아치를 통과 스크립트 (makensis.exe/DARCH = 86/64) 뭔가를 사용하여 종료 당신의 대답은 도움이되었습니다. 그러나 문제는 더욱 복잡합니다. .onInit 함수를 사용하여 X32 설치 프로그램을 빌드 할 때 X64 시스템에서 실행하면 instdir은 항상 "C : \ Program Files"로 변경 될 수 없습니다. 내가 같은 폴더에 있지만 적절한 PROGRAMFILES 디렉토리에 X32/64 응용 프로그램을 설치해야합니다 ("C가 : \ 프로그램 파일 \ 회사 \" 또는 "c : \의 Program Files (x86) \ 회사 \"는) 나는 종료 - x32 버전은 두 시스템 모두에 $ PROGRAMFILES32를 사용합니다. - x64 버전은 x64에 $ PROGRAMFILES64를 사용하고 x32에는 실행되지 않도록합니다. –
Przunk