Inno Setup 내의 powershell 스크립트에서 32비트/64비트 결정

Inno Setup 내의 powershell 스크립트에서 32비트/64비트 결정

다음 powershell 스크립트를 고려하십시오.

[System.IntPtr]::Size
[Environment]::Is64BitProcess

64비트 시스템의 powershell 내에서 직접 실행하면 올바르게 표시됩니다.

8
True

그러나 Inno Setup(32비트 시스템에 구축됨)을 사용하여 자동 압축 풀기 설치 프로그램에 이것을 래핑하면 항상 다음과 같은 결과가 나타납니다.

4
False

64비트 컴퓨터(32비트 컴퓨터의 경우 32비트)에서 Powershell이 ​​64비트 모드로 실행되는지 어떻게 확인하나요?

또한 시스템이 기본 모드에서 powershell을 시작할 것이라고 가정하고 powershell 스크립트를 호출하는 배치 파일을 실행하려고 시도했지만 이 역시 작동하지 않습니다.

나는 또한 프로그램을 래핑하기 위해 iexpress를 시도했지만 동일한 문제를 겪었습니다.

답변1

설치 프로그램이 32비트 애플리케이션인 경우 항상 32비트 PowerShell이 ​​시작됩니다. 전체 경로를 사용해도:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Windows 파일 시스템 리디렉터가 이를 다음으로 변경하기 때문입니다.C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

32비트 프로세스에서 64비트 PowerShell을 시작하려면 다음을 사용하세요.

C:\Windows\sysnative\WindowsPowerShell\v1.0\powershell.exe

32비트 시스템에서는 동일한 명령으로 32비트 PowerShell을 계속 실행해야 하지만 더 이상 테스트할 수 없습니다.

관련 정보