从 Wix 自定义 BA Bundle 升级旧的 msi [英] Upgrade older msi from Wix custom BA Bundle

查看:40
本文介绍了从 Wix 自定义 BA Bundle 升级旧的 msi的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在将具有手动先决条件的 WIX msi 安装程序(不是捆绑包)升级到托管自定义引导应用程序捆绑包.引导绑定的自定义安装程序包 exe 适用于全新安装.但是如果我们想升级我们的旧产品,它只是一个 msi,我们就有麻烦了.这就是我想要做的

We are upgrading our WIX msi installer (not a bundle) with manual pre-requisites to a Managed custom Bootstrapped application Bundle. The boot strapped custom installer bundle exe works fine for fresh installs. 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 检测到安装了较旧的 msi 包.
  2. 我正在处理单个包的计划事件并根据需要设置状态.例如:state = Present for install
  3. 我无法申请(UpdateReplace),因为我没有旧的 Bundle,

百万美元的问题是我如何升级这个 msi 包?任何帮助表示赞赏.

The million dollar question is how do I upgrade this msi package? Any help is appreciated.

谢谢

推荐答案

我所要做的就是在 Bundle.wxs 中为链中的相关 Msi 包设置 MsiProperty UPGRADE=1.这确保了当 Bundle.exe 运行时特定的 msi 会升级 顺便说一句:这是我们的第一个 Bundle 版本.我们之前只有一个 MSI 用于安装.

All I had to do was set the MsiProperty UPGRADE=1 in Bundle.wxs for the relevant Msi Package in the chain. 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. We had just an MSI before for installation.

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

这篇关于从 Wix 自定义 BA Bundle 升级旧的 msi的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆