2011-02-24 2 views
2

이미 현재 버전이 이미 설치되어 있는지 여부를 확인하기 위해 내 윅스 설정에서 다음 줄을 :제품이 이미 WiX를 사용하여 설치되어있는 경우 MSI 종료 코드를 0으로 설정하려면 어떻게합니까?

<UpgradeVersion OnlyDetect='yes' Property='NEWPRODUCTFOUND' Minimum='$(var.ProductVersion)' IncludeMinimum='no' />

MSI의 메시지 종료 코드 "1638"로 종료합니다. 그러나이 MSI는 여러 MSI를 함께 연결하는 부트 스트 래퍼의 일부입니다. 부트 스트 래퍼가 계속해서 다음 MSI를 설치하기를 원합니다.

어떻게 종료 코드 0 및 메시지 대화 상자없이 종료하도록 WiX/MSI에 지시합니까?

는 (정확한 종료 코드는 내가 부트 스트 래퍼를 수정할 수있는 것이 아니라 0

에 종료 코드를 설정하는 것을 선호

입니다 : ERROR_PRODUCT_VERSION - "이 제품의 또 다른 버전이 이미 설치되어있는이 버전의 설치를 계속할 수 없습니다. 이 제품의 기존 버전을 구성하거나 제거하려면 제어판에서 프로그램 추가/제거를 사용하십시오. ")

답변

1

WixExitEarlyWithSuccess Custom Action이 필요한 것 같습니다.

+0

첫 번째 제안이 작동하지 않았습니다. 정확히 동일한 버전이 이미 설치되어있는 경우 msi가 캐시 된 설치 프로그램을 사용하고 있었지만 WiX에서 변경 한 사항은 무시되었습니다. 그러나 패치를 설치 제거하고 설치 한 후에도 제대로 작동했습니다. 고맙습니다! – Stiefel

관련 문제