2013-07-01 3 views
12

두 개의 사용자 지정 작업이 있습니다. 하나는 내 제품이 설치 될 때 실행하고 다른 하나는 제거 할 때 실행하려고합니다.설치 또는 제거시에만 실행되는 WiX에서 사용자 지정 작업을 수행하려면 어떻게해야합니까?

내 사용자 지정 작업은 현재 "InstallFinalize"후에 병합 모듈에서 호출되지만 설치 및 제거시 모두 발생합니다. I은 "미설치 및 UPGRADINGPRODUCTCODE NOT"조건을 추가하는 시도, 그러나 그것은 나에게 오류 주었다했습니다

Error 2762. Cannot write script record. Transaction not started.

나는 또한 (예를 들어, UnpublishComponents) 다른 작업에 연결하려고했습니다,하지만 그럴 수 없어 설치 또는 설치 제거에 고유 한 것을 찾으십시오.

이 문제를 어떻게 해결할 수 있습니까?

+0

[가능한 경우 MSI를 통해 제거 할 때만 발생하는 WiX 사용자 지정 동작을 추가하는 방법?] (http://stackoverflow.com/questions/320921/how-to-add-a-wix-custom- msi를 통한 제거 만 수행) –

답변

11

만 설치를위한 다음
1.보십시오 : 제거에

<InstallExecuteSequence> 
<Custom Action="SomeAction" After="InstallFinalize">NOT Installed AND NOT REMOVE</Custom> 
</InstallExecuteSequence> 

2.가 사용하려고 : Rob's answer

UPGRADINGPRODUCTCODE 속성이 RemoveExistingProducts 캘리포니아 주 동안에 만 설정

+0

감사합니다.이 방법이 있습니다. –

관련 문제