2012-02-27 8 views
0

이전 설치를 감지하는 경우 내 설치 관리자가 이전에 제거한 다음 새 설치를 시작하고 싶습니다.Wix - 업그레이드 이전 설치 및 새로 설치하십시오

나는 다음과 같은 윅스 XML했습니다 :

<Product Id="16bf910b-3b0f-4240-914a-81526bce35f4" 
     Name="MyProduct" 
     Language="1033" 
     Version="1.0.0.0" 
     Manufacturer="MyCompany" 
     UpgradeCode="6ba28d97-41de-4371-a236-b757b7840f7b"> 
<Package InstallerVersion="200" Compressed="yes" /> 

<Upgrade Id="6ba28d97-41de-4371-a236-b757b7840f7b"> 
    <UpgradeVersion Minimum="0.0.0.0" 
        IncludeMinimum="yes" 
        OnlyDetect="no" 
        Maximum="1.0.0.0" 
        IncludeMaximum="yes" 
        Property="PREVIOUSFOUND" /> 
</Upgrade> 
<InstallExecuteSequence> 
    <RemoveExistingProducts After="InstallValidate"/> 
</InstallExecuteSequence> 

MSI 파일을 생성, 설치 (버전 1.0.0.0)를, 괜찮아요. 이제 Product/@Version을 1.0.1.0으로 변경하고 MSI를 다시 클릭하십시오.이 시점에서 나는 "이 제품의 이전 설치가 있습니다. 먼저 제거하십시오."라는 메시지가 나타납니다.

이 동작을 어떻게 수정합니까? 감사합니다.

답변

4

Product @ Id는 Windows Installer ProductCode 속성에 매핑됩니다. 이 ID는 메이저 업그레이드가되도록 빌드에서 빌드로 변경해야합니다. 컴파일러가 이것을 처리하도록 "*"로 설정할 수 있습니다.

+0

이렇게하면 이전 설치가 제거되고 제대로 설치되거나 기존 파일을 덮어 쓰시겠습니까? (BTW 작동, 고마워). –

+0

구성 요소 규칙 및 기본 파일 버전 규칙에 대한 이해가 필요한 복잡한 질문입니다. 일반적으로 예,하지만 YMMV는 이러한 규칙을 기반으로합니다. –

+1

필자의 Wix 버전을 3.5로 업데이트했고 이제'MajorUpgrade' 태그로 업데이트했습니다. 자동으로 수행됩니다. 감사 :) –

관련 문제