繁体   English   中英

从WiX捆绑包安装,使用MSI升级会导致安装多个版本

[英]Install from WiX bundle, upgrade with MSI results in multiple versions installed

我有一个应用程序,其安装程序可以两种形式提供:

  1. MSI软件包;
  2. 一个WiX捆绑包,其中包含该软件包以及一些链接的必备组件。

大多数用户将选择安装捆绑软件,但我想保留手动安装必备组件和MSI软件包的可能性。

我的自动更新过程包括下载新的MSI软件包并进行重大升级。 只要最初使用MSI软件包安装该应用程序,它就可以完美运行。 但是,如果从捆绑软件中安装了该应用程序,那么我最终会同时安装两个版本。

如何确保使用下载的MSI进行的升级可以正确替换或删除原始捆绑包?


Bundle.wxs:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
  <Bundle Name="The Product" Version="!(bind.packageVersion.TheProduct.Msi)" Manufacturer="TheCompany" UpgradeCode="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
      <bal:WixStandardBootstrapperApplication
          LicenseFile="Resources\license.rtf"
          LogoFile="Resources\logo.png" />
    </BootstrapperApplicationRef>

    <Chain>
      <PackageGroupRef Id="NetFx451Web" />
      <MsiPackage Id="TheProduct.Msi" SourceFile="$(var.TheProduct.Msi.TargetPath)" Vital="yes" Compressed="yes" />
    </Chain>
  </Bundle>
</Wix>

Product.wxs(MSI):

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="*" Name="TheProduct" Language="1033" Version="!(bind.fileVersion.TheProduct.dll)" Manufacturer="TheCompany" UpgradeCode="yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perUser" />

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate EmbedCab="yes" />
    <UIRef Id="WixUI_Minimal" />
  </Product>
    <!-- ... snip ... -->
</Wix>

.msi软件包无法升级捆绑软件; 只有另一个捆绑软件可以做到。 但是.msi软件包可以升级最初由捆绑软件安装的.msi软件包。 您在ARP中获得了两个条目,而不是并排安装了两个软件包。 ARPSYSTEMCOMPONENT的答案是正确的:使用ARPSYSTEMCOMPONENT确保.msi软件包不可见,以匹配捆绑软件的安装方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM