2011-10-24 1 views
2

WIX 설치 옵션을 사용하여 이전 DLL을 제거하도록 업그레이드합니다. 그러나 제어판으로 가서 프로그램 추가/제거 섹션으로 이동하면, 이전 버전이 계속 존재합니다.WIX 프로그램이 제어판의 추가/제거 섹션에 여전히 존재합니다.

이 추가/제거 섹션에서 이전 아이콘을 어떻게 제거합니까?

..... 난 아직 캔트이 작업을 얻을 죄송는, 이전 버전은 아직 추가에 표시 아래의 코멘트에 대한 응답으로

는/I 업그레이드 프로그램 섹션을 제거 는 여기에 몇 가지 코드 입니다

나는 ID가 않았다 처음에 "*"하지만 난 내 옆에있는 빌드를 할 때 지금은 단지 제품 ID를 변경

<Upgrade Id="$(var.UpgradeCode)"> 
    <UpgradeVersion Minimum="$(var.ProductVersion)" OnlyDetect="yes" Property="NEWERVERSIONDETECTED"/> 
    <UpgradeVersion Minimum="1.0.0" 
        IncludeMinimum="yes" 
        OnlyDetect="no" 
        Maximum="$(var.ProductVersion)" 
        IncludeMaximum="no" 
        Property="PREVIOUSVERSIONSINSTALLED" /> 
</Upgrade> 
+1

두 개의 동일한 .msi 버전이 설치되어있는 경우 올바른 UpgradeCode를 설정하지 않은 것입니다. 자세한 내용은 여기를 참조하십시오. http://blogs.msdn.com/b/johnls/archive/2006/11/13/how-to-upgrade-software-with-a-windows-installer-package.aspx –

+0

내가 생각하기는하지만 모르 텐에 동의합니다. 제품 ID와 업그레이드 ID 사이에 혼동을 느끼고 있습니다. 업그레이드 ID가 제품 요소에 설정되었을 것입니다. 이것은 이전 버전을 감지 할 때 사용해야하는 것입니다. –

답변

0

업그레이드 id는의해야합니다 업그레이드하려는 버전 사이의 차이입니다. 당신이 주요 업그레이드를 수행하려는 경우, 변경해야 속성이 "*"제품 ID

하는 새로운 GUID를

WIX

에 의해 생성되도록하면 이전 설치를 제거한 다음 새 버전을 설치했다 당신은 또한 사용자 당과 기계가 버전 사이에 설치 당 사이를 전환 할 수 있음을 유의

<!--Product --> 
<Product Id="*" Name="$(var.Product.Name)" Language="$(var.Product.Lang)" Version="$(var.Product.Version)" Manufacturer="$(var.Product.Manufacturer)" UpgradeCode="{Replace me with a constant Upgrade Guid}"> 
<Package InstallerVersion="$(var.Package.InstallerVersion)" Compressed="yes" Platform="$(var.Platform)" /> 


    <!--Condition Messages--> 
    <Condition Message="A newer version of $(var.Product.Name) is already installed. Exiting installation."> 
     <![CDATA[Installed OR NOT NEWER_VERSION_FOUND]]> 
    </Condition> 

<!-- Upgrade Table --> 
<Upgrade Id="{Replace me with a constant Upgrade Guid}"> 

    <UpgradeVersion 
    Property="OLD_VERSION_FOUND" 
    Minimum="0.0.0.0" 
    Maximum="$(var.Product.Version)" 
    IncludeMinimum="yes" 
    IncludeMaximum="no" 
    OnlyDetect="no" 
    IgnoreRemoveFailure="yes" 
    MigrateFeatures="yes" 
    Language="1033" /> 

    <UpgradeVersion 
    Property="NEWER_VERSION_FOUND" 
    Minimum="$(var.Product.Version)" 
    IncludeMinimum="no" 
    OnlyDetect="yes" 
    Language="1033" /> 

</Upgrade> 

<!--Removes the old version and then installs the new version--> 
<InstallExecuteSequence> 
    <RemoveExistingProducts After="InstallInitialize"></RemoveExistingProducts> 
    <InstallExecute After="RemoveExistingProducts"></InstallExecute> 
</InstallExecuteSequence> 

: 당신이 뭔가를 할 수 있습니다.