c# - 发现重复符号 'WixAction:InstallExecuteSequence/RemoveExistingProducts'。这通常意味着 ID 重复

标签 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>

我收到此错误:

error LGHT0091: Duplicate symbol 'WixAction:InstallExecuteSequence/RemoveExistingProducts' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique.`



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

最佳答案

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

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

WiX 可能会混淆您的两个 Upgrade ID s,认为它们之间的唯一区别是数字 02490041
除此之外,您的代码应该没有任何问题-- 再说一次,您没有提供所有代码,因此可能有一个或多个重复项,如错误所述。

关于c# - 发现重复符号 'WixAction:InstallExecuteSequence/RemoveExistingProducts'。这通常意味着 ID 重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26970267/

相关文章:

visual-studio - 是否可以使用 Visual Studio Debugger 的 Watch 窗口查看内存位置的值?

c# - .NET 4.0 中的 Assembly.LoadFrom() 权限

visual-studio-2010 - 在解决方案资源管理器中右键单击添加自定义菜单到项目(Visual Studio 2010)

c# - 使用 identityserver 将我的 webapi 与解析服务器连接起来

c++ - 写入时 WaitForMultipleObjects 访问冲突

c++ - 双向链表的 c++ 程序中未处理的异常

c++ - 如何解决 visual studio 2013 的数组初始化问题

visual-studio - Ionic Backand 应用程序拒绝连接到 Android 设备上的服务器,而不是模拟器上的服务器

c# - Rhino 模拟 - AssertWasCalled : How to improve unclear diagnostic message when incorrect arguments

c# - 在 C# 中创建特定时区的 DateTime