找到重复的符号'WixAction:InstallExecuteSequence/RemoveExistingProducts'.这通常意味着Id是重复的

use*_*579 17 c# wix visual-studio-2010 visual-studio

我正在使用WiX 3.9工具集开发一个安装程序项目.我试图在安装新版本期间卸载以前的版本.我在product.wxs中尝试了下面的一个,

<Product Id="*" Name="WIXDemoApp" Language="1033" Version="1.0.0.0" Manufacturer="Man name" UpgradeCode="993d89e6-07ec-4d33-abc5-957360bc66e1">
    <Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
    <Upgrade Id="89CF8BE7-05EE-4C7E-9EFC-0249DD260EBB">
        <UpgradeVersion
           Minimum="1.0.0.0" Maximum="99.0.0.0"
           Property="PREVIOUSVERSIONSINSTALLED"
           IncludeMinimum="yes" IncludeMaximum="no" />
    </Upgrade>

    <Upgrade Id="89CF8BE7-05EE-4C7E-9EFC-0041DD260EBB">
        <UpgradeVersion
          Minimum="1.0.0.0" Maximum="99.0.0.0"
          Property="PREVIOUSVERSIONSINSTALLED"
          IncludeMinimum="yes" IncludeMaximum="no" />
    </Upgrade>

    <InstallExecuteSequence>
        <RemoveExistingProducts Before="InstallFinalize" />
    </InstallExecuteSequence>
</Product>
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误LGHT0091:找到重复的符号'WixAction:InstallExecuteSequence/RemoveExistingProducts'.这通常意味着Id是重复的.检查以确保给定类型(文件,组件,功能)的所有标识符都是唯一的

问题是什么,我该如何解决?

Mom*_*oro 0

可能的问题是,就像错误所述,您有一个“重复符号”


我注意到——两个属性被标记为PREVIOUSVERSIONSINSTALLED,另一个属性也有一个 ID 标记PREVIOUSVERSIONSINSTALLED


WiX 可能会混淆您的两个Upgrade ID,因为它们之间唯一的区别是数字02490041


除此之外,您的代码不应该有任何问题——话又说回来,您没有提供所有代码,因此可能存在一个或多个重复项,如错误所述。