2

설치 프로그램과 함께 배포하려는 64 비트 또는 32 비트 특정 DLL이 포함 된 솔루션이 있습니다. InstallShield 2012에는 두 가지 기본 msi 프로젝트가 있습니다. 하나는 32 비트 시스템 용이고 다른 하나는 64 비트 시스템 용입니다. 또한 32 비트 시스템에서는 이고 다른 방법은인데 64 비트 설치 프로그램이 작동하지 않아야한다는 요구 사항이 있습니다.32 비트 전용 InstallShield 기본 msi 설치

64 비트 시스템을 64 비트 시스템으로 제한하는 것은 쉽지만 32 비트 시스템에서는 존재하지 않는다고 식별 할 수 없었습니다.

는 Windows Installer 속성 확인 :

여기에 내가 이미 시도 솔루션입니다

  • NOTintel64이 (가 프로세서에 의미가 아닌 OS로 작동하지 않습니다)
  • VersionNT64 = 무엇이든 (값이 32 비트 시스템에서는 정의되지 않았기 때문에 작동하지 않습니다.)

또한 환경 변수 PROCESSOR_ARCHITECTURE에 대해 알고 있습니다. h 32 비트 OS 용 olds x86이지만 기본 msi 프로젝트에서 읽을 수있는 방법을 찾지 못했습니다.

+0

같은 [이] (http://stackoverflow.com/questions/21879689/prevent-to-install-32-bit-wix-installer-on-x64-using-processor-architecture-envi),하지만 IS 방식. 답변을 얻지 못하면 공급 업체의 포럼을 사용하십시오. –

+0

그 문제를 게시 한 사람이 특정 메시지를 출력하는 방법을 묻고있었습니다. 그는 이미 환경 변수를 사용하려고하는 행동을 성취했습니다. 그리고 방금 Flexera 포럼에 게시했습니다. 조언 해주셔서 감사합니다. –

+1

x86 설치 프로그램에서 "NotNumberNT64"를 시작 조건으로 사용 해본 적이 있습니까? x64 시스템에서 설치를 금지하면 문제가 없습니다. 조건에 "= 아무거나"는 없습니다. x86에서는 정의되지 않았으므로 false입니다. 즉, x86 시스템에서만 실행 조건이 true로 평가됩니다. – PhilDW

답변

1

x86 설치에서 "VersionNT64가 아님"을 시작 조건으로 사용 해본 적이 있습니까? x64 시스템에서 설치를 금지하면 문제가 없습니다. 조건에 "= 아무거나"는 없습니다. x86에서는 정의되지 않았으므로 false입니다. 즉, x86 시스템에서만 실행 조건이 true로 평가됩니다.