2014-01-29 3 views
0

다른 설치 관리자 4 명을 시작해야하는 WIX 설치 관리자가 있습니다. 모두 Exe 파일에 있지만 MSI 설치 프로그램에 추가 파일이 필요할 수 있습니다.WIX, 부트 스트 래퍼 또는 사용자 지정 작업

많은 연구 끝에 나는 부트 스트 래퍼 (bootstrapper)를 사용하고 자식 설치 관리자를 연결하는 데 합의했습니다. 그러나 마지막에 내가 "결국 이제는 사용자 지정 작업을 사용할 수 있습니다."라고 말한 끝에 게시물을 보았습니다.

사용자 지정 작업의 문제는 직접 모드를 선택한 경우 GUI가 나타나기 전에 모두 실행된다는 것입니다. 그러나 "지연"을 사용하면 사용자 지정 작업은 대부분의 설치 관리자 변수 데이터에 액세스하지 못합니다. 그래서 드로잉 보드로 돌아가서 : 부트 스트 래퍼와 체인을 사용해야합니까 아니면 어떻게 든 사용자 정의 액션을 사용해야합니까?

모든 의견을 매우 높이 평가합니다.

답변

2

다른 설치 관리자를 호출하기 위해 사용자 지정 작업을 사용하는 것이 더 위험하다는 점은 Windows Installer가 한 번에 하나의 설치 만 지원한다는 것입니다. 따라서 EXE 파일 중 하나라도 MSI 파일에 압축이 풀리면 설치 프로그램이 현재 실행 중이므로 설치가 실패합니다.

여러 EXE 설치를 수행하는 "올바른"방법은 부트 스트 래퍼를 사용하는 것입니다.

다른 설치 프로그램을 호출하는 사용자 지정 작업을 수행 할 수있는 유일한 곳은 Windows Installer를 사용하지 않는 비교적 간단한 타사 설치 프로그램을 사용하는 경우입니다. 이 경우 InstallFinalizeuse CustomActionData 전에 사용자 지정 작업 as deferred을 예약하여 필요한 정보를 전달할 수 있습니다.

지연된 설치 프로그램은 상승 된 프로세스에서 실행되며 일반적으로 작업이 지연되거나 즉시 수행되는지 여부를 결정하는 요소입니다. 설치 전후에 즉각적인 작업을 예약 할 수 있지만 사용자 권한으로 만 실행됩니다.

+0

안녕 미치. 고마워! 우리는 지금 MSI를 가지고 있지는 않지만 앞으로는 필요할 것입니다. 시작하는 방법은 나중에 나올 많은 양의 소리와 같이 우리가 어떤 문제를 겪고 있는지 알 수 있습니다. 사용자 지정 작업이 아니라면 부트 스트 래퍼에 데이터를 전달할 수있는 방법이 있습니까? 사실이 일을하는 초심자인데, 부트 스트 래퍼와 같은 본능은 원래 설치 스크립트 환경 밖에서 일을 시작합니다. – user3248498

+0

"부트 스트 래퍼가 원래 설치 스크립트 외부에서 실행하는 것처럼 들리 네요."- 맞습니다. 다른 스크립트에 의해 호출되는 설치 프로그램을 3 개 (또는 많은 사용자가 필요로 함)로 분리합니다. 이 모든 것에 대한 훌륭한 자습서는 http://wixtoolset.org/documentation/manual/v3/bundle/입니다. – Mitch

관련 문제