2012-01-05 3 views
1

아키텍처 (설치되어있는 VersionNT64 상태, 다른 버전에서는 VersionNT64가 아닌)에 따라 설치할 소프트웨어를 자동으로 선택하는 설치 프로그램을 만들고 있지만 레지스트리 키가 몇 개 있습니다. 뿐만 아니라 들어가야합니다. "64 비트 구성 요소"를 켜면 (분명히) 레지스트리의 해당 부분에 쓰지만 32 비트 컴퓨터에서 열지 못하게하는 설치 프로그램 정보의 플래그가 필요합니다. 이 구성 요소는 VersionNT64 조건을 가지고 있기 때문에 32 비트 컴퓨터에서도 사용되지 않으므로 다른 방법이 있습니까? 나는 두 가지 대안을 염두에두고있다. (컴파일 후 플래그를 재설정하고 .reg 파일의 사용자 정의 작업) 그러나 좀 더 간소화 된 것을 선호한다.Installshield에서 64 비트 레지스트리에 쓰기

+0

.exe 파일로 배포하는 경우 Suite 프로젝트를 사용하는 것이 좋습니다 (아키텍처 및 조건별로 적절히 하나씩 .msi 포함). 그러나 .msi 파일로 배포하는 경우에는 도움이되지 않습니다. –

+0

기본적으로 사용자는 단일 파일 (MSI가 좋지만 EXE 파일이어야 함)을 두 번 클릭하고 설치 프로그램에서 사용할 구성 요소와 위치를 결정하도록합니다. 그래서 질문은 어떻게해야합니까? 메뉴에 Suite Project가 표시되지 않습니다. – Patrick

+0

오, 알겠습니다. 프리미엄에 있습니다. 두 프로젝트를 만들고 내 EXE를 만들어야하는 것 같습니다. – Patrick

답변

0

저는 x86 시스템에서 패키지가 작동하지 않도록하면서 32 비트 패키지에서 64 비트 패키지로 표시된 구성 요소를 사용할 수 있음을 알고 있습니다. 패키지 유형이 x64로 설정된 경우에만 x86 시스템에서 작동이 중지됩니다.

+0

필자가 알고있는 사실은 x86 패키지의 x64 구성 요소가 64 비트 위치에 설치되지 않는다는 것입니다. 설치를 방해하지는 않지만 원하는 효과는 없습니다. 이러한 이유로 InstallShield는이 조합이 작성되는 것을 방지합니다. –

+0

Program Files (x86) 또는 Wow6432Node 로의 리디렉션이 패키지 유형에 따라 OS에 의해 제어되고 x86 패키지의 경우 모든 리소스가이 위치에 포함된다는 것을 알고 있습니다. 그러나 작은 테스트 후에 구성 요소의 64 비트 플래그를 설정하면 리디렉션이 비활성화됨을 알 수 있습니다. –

+0

그래, 테스트에서 올바른 Program Files 폴더를 선택하고 올바른 바이너리 세트를 선택했음을 알았습니다. , 그리고 그 밖의 모든 것을 보여 주었고, 결국에는 결국 (x86)으로 리디렉션되었습니다. – Patrick

관련 문제