2014-10-14 4 views
0

.msi는 최근에 .msm으로 변형되어 더 큰 .msi의 구성 요소가되었습니다.병합 모듈 설치 중단

다운 그레이드 할 때 설치를 중단시키는 사용자 지정 작업이 있습니다.

<CustomAction Id="AbortDowngrade" Error="Downgrade not allowed"/> 

맞춤 조 (19)를 입력하고, 전체의 .msi을 중단시킨다 :로

<Custom Action="AbortDowngrade" After="InstallChecks">INSTALLED_BUILDNO &gt; INSTALLING_BUILDNO</Custom> 

정의.

.msi 파일을 .msi 파일에 영향을주지 않으면 서 정상적으로 실패하도록하려면 어떻게 업데이트합니까?

감사합니다.

답변

0

msm이 병합되고 MSI에 내장 된 후에는 MSI 만 있고 병합 모듈은 설치되지 않습니다. 병합 모듈은 MSI와 함께 설치되는 구성 요소의 무리입니다. 설치할 구성 요소 중 일부는 실패 할 수 없습니다.

MSI의 일부를 실패 할 수 없으므로 직접 응답을하기가 어렵습니다. 사용자 지정 작업이 필요하지 않으면 삭제하십시오. 다운 그레이드에 적용되는 것처럼 보이므로 MSI에 적용되며 병합 모듈 중 하나에 MSI 패키지 제한이있는 것이 약간 이상합니다. 또는 특정 조건에서만 적용되는 경우 사용자 지정 작업에 조건을 적용합니다.

구성 요소의 모음과 같이 해당 기능에 조건을 기능에 넣어하고하는 것입니다 설치를 허용하는 가장 좋은 방법 : 해당 조건에 숫자를 구축

How to use conditions in features in WiX?

그렇지 않으면 참조 그 중 일부 버전이 이미 설치되어있는 경우 해당 파일을 설치하지 않는다고 생각할 수도 있습니다. 그렇다면 이것은 분명히 일반적인 접근법이 아닙니다. 파일 버전은 파일의 대체 여부를 결정하므로 버전이 낮은 파일을 설치하면 기존 파일을 대체하지 않습니다.

+0

MSM 내에서 해당 구성 요소의 설치를 중지 할 수 있도록 CustomAction이 필요합니다. 현재 Type 9 CustomAction을 AbortDowngradeProperty라는 속성을 설정하도록 변경했습니다. 이 속성은 다른 CustomAction을 컨디션하는 데 사용할 수 있지만 MSM에서 설명하는 파일이 포함 된 Fragment를 컨디셔닝 할 수 없습니다 : error LGHT0184 : "이 런 병합 모듈에서 'LaunchCondition'테이블의 예기치 않은 행을 발견했습니다. 'LaunchCondition'테이블. " –