2014-06-09 2 views
0

WIX 툴킷으로 만든 설치 프로그램을 사용하여 설치하는 제품 (ProductA 및 ProductB)이 있습니다. ProductA를 설치하면 환경 경로가 C : \ MyEnvPath를 추가하도록 업데이트됩니다. 또한 ProductB는 C : \ MyEnvPath를 아직 추가하지 않은 경우 추가합니다.제거 할 때 환경 경로를 조건부로 제거

ProductA는 C에 설치 : \ MyEnvPath은 ProductAPath \ ProductB는 C에 설치 : \ MyEnvPath ProductBPath \

내가 ProductA을 제거 할 때, 그것을 확인해야합니다 C의 경우 : \ MyEnvPath는 C를 제외한 다른 폴더가 있습니다 \ MyEnvPath \ ProductAPath. 폴더 (C : \ MyEnvPath \ ProductBPath)가 있으면 경로를 제거하지 마십시오.

C : \ MyEnvPath \ ProductAPath를 제외한 다른 폴더가 없으면 환경 변수에서 경로를 제거하십시오.

어떻게 설치 제거 프로그램 설정을 수정합니까? 아래에 요구되는 것이 아니다 환경 경로를 제거하지 않습니다 라인에 '예'에 '영구'속성을 업데이트

. 나는 '영원한'이 아니어야한다고 요구하지만 경로의 제거는 조건부 여야한다.

답변

0

나는 DirectorySearch을 조합하고 Transitive 구성 요소를 사용하여 원하는 것을 달성 할 수 있다고 생각합니다. 나는 그것을 테스트하지했듯이 예를 들어

는 ...이 아무것도

<Property Id='IS_PRODUCTB_INSTALLED' Secure='yes'> 
    <DirectorySearch Id='IsInstalled' Path='C:\MyEnvPath\ProductBPath' /> 
</Property> 

보다 의사 코드

<Directory Id="ProductBFolder" Name="ProductBPath"> 
    <Component Id="ProductBComponent" Guid="{YOUR-GUID-HERE}" Transitive="Yes"><!CDATA[(NOT UPGRADINGPRODUCTCODE) AND (NOT IS_PRODUCTB_INSTALLED)]]> 
    <CreateFolder /> 
    </Component> 
</Directory> 

다시는 의사 코드 응답의 더주의 내 컴퓨터의 일부 스 니펫에서 함께 자갈을 넣었지만 원하는 곳으로 가져갈 수 있다고 생각합니다.

관련 문제