2013-07-27 1 views
0

Exe1-> Msi1-> Exe2-> Msi2 인 체인이 있습니다.FileSearchRef를 기반으로 ExePackage에 대한 InstallCondition을 설정하십시오.

Exe2가 InstallCondition에 설치되어 있는지 확인하려면 FileSearch 결과가 필요합니다.

번들 외부의 조각에 FileSearch가 정의되어 있으며 체인 위의 번들에서 참조하고 있습니다.

Msi1이 실행 된 후에 FileSearch가 완료되도록하려면 어떻게해야합니까? 하나 MsiPackage와 RegistrySearch 대신 FileSearch를 사용

비슷한 질문 : WiX Bundle bal:condition - util:RegistrySearch variable always false

UPDATE : 나는 체인에서 Exe2을 제거하고 난 Msi1에서 지연된 사용자 지정 작업에 Exe2을 실행하려합니다. Exe2는 자체적으로 실행될 수 있지만 사용자 지정 작업에서 실행할 때는 실패합니다. 더 깊이 파고들 필요가있다.

+0

[파일 내용에 따라 체인에 ExePackage의 InstallCondition을 설정하는 방법] (http://stackoverflow.com/questions/17896071/how-to-set-installcondition-for-exepackage-in-chain- 파일 기반 내용) 당신은 약간 다른 질문을하고 있지만, 의미 상으로는 다른 질문과 매우 비슷합니다. –

+0

예,이 질문을 닫거나 의미 론적 차이로 남겨 둘 수 있습니다. –

답변

2

화상이 그렇게 작동하지 않는다. 체인이 적용되기 전에 InstallCondition을 처리하여 체인 중에 발생하는 아무 것도 체인의 나머지 부분에 영향을 미치지 않습니다.

+0

정보를 제공해 주셔서 감사합니다. Msi2의 사용자 지정 작업으로 Burn에서 InstallCondition을 설정할 수 있습니까? –

+0

아니요, 사용자 지정 작업은 실행 중 체인을 변경할 수 없습니다. –

0

Bob이 언급 한 것처럼 InstallCondition은 체인이 시작되기 전에 처리되고 그 사이에는 처리되지 않습니다.

MSI1에는 검색 할 파일이 항상 포함되어 있습니까? 파일의 존재 여부를 확인하는 대신 MSI1이 제대로 설치되었는지 확인하십시오. 이 경우 VITAL 속성을 사용할 수 있습니다.

Vital YesNoType 패키지가 체인을 계속 진행해야하는지 여부를 지정합니다. 기본 "예"는 패키지가 실패하면 체인이 실패하고 롤백 또는 중지된다는 것을 나타냅니다. "no"가 지정되면 패키지가 실패했다고보고하더라도 체인이 계속됩니다.

일반 Burn BA는 지원하지 않으므로 사용자 지정 BA를 작성하거나 체인을 2, exe1 및 msi1, 두 번째 exe2 msi2로 분리 할 수 ​​있습니다.

+0

Msi2는 의무적으로 체인에서 실행해야합니다. Exe2는 Msi1의 사용자 지정 대화 상자에서 클라이언트가 선택한 항목에 따라 설치해야하는 선택적 패키지입니다. –

+0

업데이트 된 답변 확인 – Isaiah4110

+0

체인 분할은 어떻게 도움이됩니까? Exe2 옵트 아웃 조건을 지원하는 마스터 체인을 만들 수 있습니까? –