2013-09-28 5 views
3

여러 제품을 설치하고 있지만 매일 빌드에서 자동으로 빌드되므로 다양한 GUID가 있습니다. 그들은 단지 같은 업그레이 드 코드를 가지고 ...앱이 업그레이드 코드를 기반으로 설치되었는지 확인하는 방법

그래서 내 질문은 : 제품이 설치되어있는 경우 자신의 사용자 정의 작업을 사용하지 않고 UPGRADE 코드 만 알 수 있습니까?

내가하려고했던 : 또한 ...

<Property Id="WF_INSTALLED" Value="NOT INSTALLED"> 
     <ProductSearch Minimum="0" UpgradeCode="{XXXXXXXX-XXXX-XXXX-XXXX-8660911C6596}"/> 
    </Property> 

를하지만 나는 그것을 사용할 수 없습니다 것 같다 나는 레지스트리 기록을 찾을 : XXXXXXX는 UPGRADE 코드를 변형,하지만 거기에있다

Root='HKLM' Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\XXXXXXX' 

이 키 아래의 모든 값 그래서 어떤 도움을 이해할 수있을 것이다

의 존재 :(를 확인할 수 없습니다.

,536,

편집 : 다른 제품이 설치되어 있는지 확인하고 싶습니다. 현재 설치하고있는 제품이 아닌 것입니다.

답변

2

Upgrade 요소를 사용하면됩니다. 이 질문을 참조하십시오 : How to implement WiX installer upgrade?

응용 프로그램이 이미 설치되어 있는지 여부 만 확인하려는 경우 OnlyDetect 속성 (Rob's answer)을 사용하십시오.

실제로 제품 업그레이드를 수행하려는 경우 공식 WiX documentation이이를 수행하는 가장 쉬운 방법을 설명합니다.

+0

내 편집 내용보기 ... 내가 게시 한 것을 수행 할 수 있다는 것을 알고 있지만 내가 찾고있는 것이 아닙니다. –

+2

'Upgrade'요소를 사용하여 다른 제품도 검색 할 수 있습니다. 자신의 제품 대신 다른 제품의 업그레이드 코드를 사용해야합니다. 'OnlyDetect'를 설정하여 다른 제품을 제거하지 않도록하십시오. 'Minimum'과'Maximum' 버전 속성을 사용하여 다른 버전을 확인할 수도 있습니다. –

+0

당신의 솔루션이 잘 작동하는 것처럼 보이지만 앱을 제거하고 싶을 때 앱이 설치되어 있는지 감지하지 못합니다 ... 설치 제거, 수리 또는 변경시이를 감지 할 수 있는지 알고 있습니까? thx –

관련 문제