【问题标题】:Major upgrade on a multi-instance installer多实例安装程序的重大升级
【发布时间】:2017-08-14 16:21:58
【问题描述】:

我现在不愿意问这个问题,因为我重复WiX - Doing a major upgrade on a multi instance install...但我希望我的问题能得到回答:)

我有一个包含多个实例的安装程序:

<Product Id="{GUID}" UpgradeCode="{GUID}" Version="!(wix.Version)" Name="MyProduct" Manufacturer="MyCompany">

  <MajorUpgrade Schedule="afterInstallExecute" DowngradeErrorMessage="A newer version of [ProductName] is already installed." />

  <Property Id="INSTANCEID" Value="Default" />
  <InstanceTransforms Property="INSTANCEID">
    <Instance Id="I01" ProductName="MyProduct_I01" ProductCode="{GUID}" UpgradeCode="{GUID}" />
    <Instance Id="I02" ProductName="MyProduct_I02" ProductCode="{GUID}" UpgradeCode="{GUID}" />
    .
    .
    .
    <Instance Id="I49" ProductName="MyProduct_I49" ProductCode="{GUID}" UpgradeCode="{GUID}" />
    <Instance Id="I50" ProductName="MyProduct_I50" ProductCode="{GUID}" UpgradeCode="{GUID}" />
  </InstanceTransforms>
</Product>

为清楚起见,每个新版本都使用:

  • 不同的版本号(前 3 个数字中的至少一个不同)
  • 每个实例都有不同的产品代码
  • 每个实例的升级代码相同
  • 我使用域管理员权限安装每个产品

在每个新版本更改产品代码之前,我对每个版本都使用相同的代码,虽然它有点笨拙(永远保留已删除的组件),但重新安装过程还是成功了。

但是,现在,使用不同版本的后续重新安装会使 msiexec.exe 将所有组件视为缺失,从而导致安装失败。看来是时候过渡到重大升级了!

升级天真的方式

msiexec.exe /i "installer.msi" /n {OLD_VERSION_PRODUCTCODE}

提示虚假信息:

系统管理员已设置策略来阻止此安装。

通过重新安装升级

msiexec.exe /i "installer.msi" /n {OLD_VERSION_PRODUCTCODE} REINSTALL=ALL REINSTALLMODE=vamus

(也尝试使用REINSTALLMODE=amus,因为新产品是新安装的,但不是)

将每个组件记录为不存在且未触及任何文件(报告升级成功):

已安装:不存在;请求:空;行动:空

我不知所措——我错过了什么?

【问题讨论】:

    标签: wix windows-installer multi-instance-deployment


    【解决方案1】:

    我找到了一个尴尬的解决方案,但它只适用于一个尴尬的问题:

    <SetProperty Id="REINSTALL" Value="" Before="AppSearch" />
    <SetProperty Id="REINSTALLMODE" Value="" Before="AppSearch" />
    

    通过取消设置REINSTALL 属性,我不知何故跳过了主要的升级权限障碍并避免了真正的重新安装,让我使用新版本。

    我很乐意接受更正统的解决方案,特别是不涉及摆弄 Windows Installer 属性的解决方案...

    【讨论】:

      猜你喜欢
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 2010-09-11
      • 1970-01-01
      • 2010-12-05
      • 1970-01-01
      • 2018-06-07
      • 2018-04-26
      相关资源
      最近更新 更多