【问题标题】:How to set additional properties during RemoveExistingProducts如何在 RemoveExistingProducts 期间设置其他属性
【发布时间】:2011-07-03 12:53:07
【问题描述】:

我正在使用推荐方式升级(使用UpgradeUpgradeVersion检测产品的旧版本并使用 InstallInitialize

之后的 RemoveExistingProducts

问题是,在卸载现有产品期间,我需要将其他属性传递给安装程序以保留现有数据库。有没有办法做到这一点?

【问题讨论】:

    标签: installation wix windows-installer


    【解决方案1】:

    如果你是从命令行卸载,你可以使用

    msiexec /x c:\Example.msi PROPERTY=VALUE
    

    初始化你的属性。

    或者,您可以将属性存储在注册表中并使用类似的东西:

    <Property Id="PROPNAME">
      <RegistrySearch Id="PropNameRegistry" Type="raw" Root="HKLM" Key="Software\MyProduct\MyKey\PropValue" Name="MyPropName" />
    </Property>
    

    检索它们。

    【讨论】:

    【解决方案2】:

    通过 RemoveExistingProducts 删除的所有产品都是一个额外的属性 UPGRADINGPRODUCTCODE。此属性设置为与正在删除此其他产品的安装程序的 ProductCode 匹配。如果您在安装程序被删除时对此有条件,它可以相应地采取行动。如果没有,您将需要设置 UpgradeVersion OnlyDetect 并阻止直到它消失,手动调用它的删除,或类似的解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多