2009-03-27 2 views
4

Windows Logo Program 유효성 확인을 위해 곧 제출 될 응용 프로그램을 마무리합니다. 요구 사항 중 하나는 x64 호환성입니다. 특히 Crystal Reports 2008은 x64에서 작동해야합니다.x86/x64 감지 및 올바른 .msi 설치

내 문제는 Crystal Reports 2008 (Visual Studio 2008에 포함 된 패키지)에 병합 모듈이없고 제공된 .msi 설치 관리자를 사용하여 설치해야한다는 것입니다. x86 및 x64 용 설치 프로그램을 별도로 제공합니다.

그렇다면 설치하는 동안 x86 및 x64를 감지 한 다음 적절한 Crystal MSi를 실행하는 방법은 무엇입니까? 병합 모듈이 없어도 가능합니까?

편집 :

이 :

IF PROCESSOR_ARCHITECTURE == x86 AND 
    PROCESSOR_ARCHITEW6432 NOT DEFINED THEN 
    // OS is 32bit 
ELSE 
    // OS is 64bit 
END IF 

는 어떻게 (감사 MicSim)을 감지하는 말해 것으로 보인다. 그러나 MSI에서이 작업을 수행하려면 어떻게해야합니까? 그것은 커스텀 액션인가? 그런 다음 x32 및 x64 크리스탈 보고서에 대해 서로 다른 msi를 실행하려면 어떻게해야합니까?

왜 x86 크리스탈 설치 프로그램이 WOW64에서 작동하지 않습니까? WOW64 x86 응용 프로그램에서 작동하려면 x64 Crystal을 설치해야합니다. 좌절 ...

편집 2 :

좋아, 86/64를 검출하는 여기에 덮여있는 것처럼 보인다. 이제는 수동으로 msi를 트리거하는 방법에 대해 설명합니다.

답변

8

내가 64 비트 운영 체제를 검색하는 가장 쉬운 방법은 VersionNT64 속성을 사용하는 것입니다. 이 속성은 구성 요소 또는 사용자 지정 동작의 조건에서 사용할 수 있습니다 (예 : 아니요 VersionNT64은 32 비트 운영 체제에만 해당).

설치하는 동안 다른 MSI 패키지를 설치하는 것은 조금 까다 롭습니다. Windows Installer는 한 번에 하나의 MSI가 실행 시퀀스 만 실행하도록 허용합니다. 즉, UI 시퀀스 사용자 지정 작업을 사용하여 Crystal Reports MSI를 설치해야합니다. 이렇게하는 경우 MSI가 자동 모드로 실행되는 경우 UI 시퀀스을 건너 뛰거나 신중하게 작성해야합니다. Crystal Reports MSI와 자신의 순서대로 실행되는 부트 스트 래퍼 프로그램

나는 자신의 부트 스트 래퍼를 만든 적이 없지만 InstallShield에는 setup.exe에 부트 스트 래퍼 프로그램이 내장되어 있습니다. 그들은 이런 식으로 설치된 패키지를 선행 조건이라고 부릅니다.

1

googled : MSI 프로젝트가있는 경우 here과 같은 속성을 확인할 수 있습니다.

프로세스 및 OS 아키텍처 검색에 대한 자세한 내용은 this MSDN blog "HOWTO : 프로세스 증인 검색"을 참조하십시오.

1

[SystemFolder] msiexec을 실행하는 사용자 지정 동작으로 Crystal Reports MSI를 트리거 할 수 있습니다. 그냥 "/ i [YourFolderWithCRMSI] msiname.msi"를 인수로 지정하십시오.

+0

당신은 또한 추가 할 수 있습니다 비주얼 스튜디오와 함께 제공되는 Crystal Reports를 작동하지 않습니다 밝혀/q를 매개 변수로 사용하여 고객을 괴롭히지 않도록합니다. –

관련 문제