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

时间:2014-11-17 10:12:37

标签: c# visual-studio-2010 visual-studio wix

我正在使用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>

我收到此错误:

  

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

问题是什么?如何解决?

1 个答案:

答案 0 :(得分:1)

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


我注意到-两个属性标记为PREVIOUSVERSIONSINSTALLED,另一个属性的ID也标记为PREVIOUSVERSIONSINSTALLED


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


除此之外,您的代码应该没有任何问题-然后,您没有提供代码的 all ,因此可能存在一个或多个重复项,例如错误说。