简体   繁体   English

从Wix定制BA捆绑包升级旧版MSI

[英]Upgrade older msi from Wix custom BA Bundle

We are upgrading our WIX msi installer (not a bundle) with manual pre-requisites to a Managed custom Bootstrapped application Bundle. 我们正在将具有手动先决条件的WIX msi安装程序(不是捆绑软件)升级到托管自定义引导应用程序捆绑软件。 The boot strapped custom installer bundle exe works fine for fresh installs. 引导捆绑的自定义安装程序捆绑包exe可以很好地进行全新安装。 But if we want to upgrade our older product which is just an msi, we are in trouble. 但是,如果我们想升级我们的旧产品(只是微星),就会遇到麻烦。 This is what I am trying to do 这就是我想要做的

  1. Detect RelatedMsiFeatureHandler detects there is an older msi package installed. 检测RelatedMsiFeatureHandler检测到已安装较旧的msi软件包。
  2. I am handling the Plan events for individual packages and setting the states as desired. 我正在处理单个程序包的计划事件,并根据需要设置状态。 For ex: state = Present for install 例如:state =当前安装
  3. I cannot to Apply(UpdateReplace) because I do not have an older Bundle, 我没有较旧的Bundle,因此无法套用(UpdateReplace),

The million dollar question is how do I upgrade this msi package? 百万美元的问题是如何升级此msi软件包? Any help is appreciated. 任何帮助表示赞赏。

Thanks 谢谢

All I had to do was set the MsiProperty UPGRADE=1 in Bundle.wxs for the relevant Msi Package in the chain. 我要做的就是在Bundle.wxs中为链中的相关Msi软件包设置MsiProperty UPGRADE = 1。 This made sure that when the Bundle.exe is run the specific msi is upgraded BTW: this is the first version of Bundle for us. 这样可以确保在运行Bundle.exe时,特定的msi会被升级BTW:这是我们的Bundle的第一个版本。 We had just an MSI before for installation. 在安装之前,我们只有一个MSI。

 <MsiPackage DisplayName="Installing Main Product" SourceFile="$(var.Path_Setup)" DisplayInternalUI="no" SuppressSignatureVerification="yes" > ***<MsiProperty Name="UPGRADE" Value="1"/>*** <MsiProperty Name="NAS_PATH" Value="[NasBackupPath]"/> <MsiProperty Name="NAS_BAK_TIME" Value="[BackupTime]"/> </MsiPackage> </Chain> 

Just in case if anyone having similar issue (WIX 3.10) 以防万一有人遇到类似问题(WIX 3.10)

this statment under the installer's Product will resolve the issue. 安装程序产品下的此声明将解决此问题。 You must update the version of the product and product upgrade code must be same with previous install. 您必须更新产品的版本,并且产品升级代码必须与以前的安装相同。

"AllowSameVersionUpgrades" = yes will make sure not to install same product side by side. “ AllowSameVersionUpgrades” =是,请确保不要并排安装相同的产品。

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

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