Wix Burn:自定义引导程序升级,但与旧版本并排安装

2024-01-08

我正在努力解决自定义引导程序升级问题。依照指示这个线程 https://stackoverflow.com/questions/17676657/wix-burn-bootstrapper-majorupgrade,我正在使用 LaunchAction.Install。

这确实会升级产品以及 Boostrapper,但较旧的 Bootstrapper 仍保留在那里,如以下屏幕截图所示。

如果我从这里调用版本 1.0.0.0,它将显示安装对话框,但不会执行任何操作。但是,调用版本 1.0.1.0 将为我提供卸载产品的选项。但是,卸载后,它只会删除自身,而“我的产品”会被留下。

我也尝试过

_bootstrapper.Engine.Plan(LaunchAction.UpdateReplace);

and

_bootstrapper.Engine.Plan(LaunchAction.UpdateReplaceEmbedded);

但没有效果。

问题:如何升级旧安装而不陷入上述情况?谁能提供 CustomBA 升级的工作示例吗?

Regards


检查 PlanRelatedBundle 事件。您可以在其中告诉引擎如何处理旧包。

如果您想要一个捆绑包替换旧的捆绑包,则两者的 UpgradeCode 应该相同。在这种情况下,它将默认卸载旧包。 此外,旧捆绑包需要支持安静卸载,因为在安装新捆绑包后将使用参数 /quit 调用它。

您可以在 BootstrapperApplication.Command.Display 属性中检查它。如果它是从另一个捆绑包调用的,则它应该是“嵌入式”。在本例中,BootstrapperApplication.Command.Action 设置为“卸载”。

如果这些都不起作用,请检查在 AppData\Temp 文件夹中创建的日志。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wix Burn:自定义引导程序升级,但与旧版本并排安装 的相关文章

  • 如何使用 wix 将多个元素添加到 XML 配置文件中?

    我正在尝试使用 Wix 编辑 XML 文件 我正在使用与 Wix 3 7 捆绑在一起的 WixUtilExtension xml 文件是在 Visual Studio 2010 中为 C 应用程序创建的设置文件 在此文件中 我使用一个用于在
  • WiX RemoveRegistryKey 元素的行为不符合广告

    卸载时我似乎无法删除注册表项 请注意 这不是重复this https stackoverflow com questions 3317281 wix doesnt remove registrykey on uninstall问题 因为我不
  • 在 Wix 安装程序中以管理员模式运行 customAction 中的 ExeCommand

    我是 wix 安装程序的新手 我已经为我的应用程序使用 wix 安装程序开发了一个设置 我需要执行自定义操作来运行 cmd exe 中的命令 XP 下运行正常 但在 Windows 8 和 7 中 cmd 提示符需要以管理员身份运行 我用谷
  • 在 Managed Burn BootstrapperApplication 中包含映像

    我正在使用 Burn 和自定义引导程序应用程序使用 wix 开发安装程序 一切正常 但我无法将简单的图像包含到我的应用程序 UI 中 我将图像包含到我的用户界面中 如下所示
  • 如何使用 WiX 设置服务的恢复选项?

    我有以下 wxs 文件
  • 使用自定义操作卸载多个产品

    我正在为我们的产品开发基于 WIX 的安装程序 该产品有一个基础产品和许多插件 基础版和插件将作为单独的 MSI 提供 仅当底座可用时才能安装插件 基础和插件在根文件夹下共享公共文件夹树 例如 C Program files MyProdu
  • 为什么卸载时我的服务没有被删除? (维克斯)

    即使重新启动后 即使可执行文件消失 服务仍然存在 我使用的是 WIX 版本 3 0 5419 0
  • 如何确定现有应用程序的安装范围?

    我有一个基于的安装程序WixUI Advanced允许用户选择安装范围 每个用户或机器范围 升级时 安装了较低版本的现有应用程序 我想隐藏安装范围屏幕并自动选择他们上次选择的安装范围 如何判断先前安装使用的安装范围 Edit 查看我的 MS
  • 获取生成的 ProductCode 作为 Wix 中的变量

    在我们的产品中我们使用Product Id 在 Wix 中告诉它为每个新版本生成新的产品代码 现在 我们需要在安装期间将正在安装的 MSI 的产品代码记录到我们的注册表项之一中 我们可以通过循环遍历 卸载 注册表项中的条目来查找产品名称和版
  • 在 WiX Bundle 中包含 .NET 安装程序未检测是否已安装

    我使用的是 WiX 3 7 无法让简单的 捆绑元素正常工作 因为它不会带来 Net FX 安装程序包 也不会将其嵌入到 setup exe 中 我已经在我的程序中为此创建了自己的包Bundle wxs文件 但我仍然遇到麻烦 即使机器已经安装
  • WiX - 根据环境将编译后的 web.config 复制到网站根目录

    作为 WiX 安装的一部分 我将所有转换 编译的 web config 文件复制到安装目录 编译后的 web config 的名称格式为 web ENV config 在我的安装 UI 中 我创建了一个自定义对话框 在其中解析 ENV 并填
  • Wix:动态添加功能

    我们正在使用 Wix 为我们的软件构建 msi 我们有一些要在目标机器上实现的组件 插件 每个客户端的插件都不同 我们想要做的是创建一个标准构建并修改 msi 包中的功能列表 有没有办法通过自定义操作动态更改功能列表 例如 从自定义操作中读
  • 让 WIX 在项目中包含引用

    我对 WiX 和设置自定义安装程序完全陌生 所以我对问题的主题表示歉意 我有一个内部业务应用程序 日记 它构建并运行良好 因此我按照教程 官方文档添加 WiX 项目并引用日记的 csproj 然后构建并运行这个最基本版本的 WiX 安装程序
  • 在每台计算机安装中删除 HKCU 下的注册表项

    我使用 WiX 3 6 构建了一个 perMachine 安装程序来安装我尚未开发的软件 不幸的是 该软件在执行期间在 HKCU 下创建了一些注册表项 卸载时 还应删除自行创建的密钥 移除这些钥匙似乎并不那么容易 我正在与 ICE57 和
  • 如何使用 WiX 卸载时终止进程

    我正在使用 Wix 创建 msi 安装文件 当我卸载应用程序时 它仍然在工作 并且我可以在任务管理器中看到它 我已经尝试过自定义操作的延迟执行 如 Wix 文档中所述 https wixtoolset org documentation m
  • 如何使用 Wix 运行 sql 脚本创建数据库

    我在使用 Wix 创建数据库时遇到问题 我能找到的示例 参见下面的链接 都是首先使用 wix 创建数据库并运行创建表 sql 脚本 问题是我需要将 wix 设置为使用 CREATE DATABASE 运行 sql 脚本来创建数据库和表 而不
  • 如何为 WIX 中的目录分配路径值?

    在我的 WIX 项目中 我有一个类似这样的目录结构
  • 创建新用户并将其添加到管理员时出现权限错误

    我用 WiX 3 8 创建了一个设置项目 我想在其中创建一个新用户并将其添加到管理员组 但每次我的设置达到这一点时 我都会因为权限不足而收到错误 这有点奇怪 因为我的用户是虚拟机的管理员 我在虚拟机上测试设置 我能做些什么 这是 WXS 文
  • CAQuietExec 命令字符串必须以带引号的应用程序名称开头

    好吧 我相信我正在按照 Wix3 5 中的在线示例执行安静命令 但我似乎无法让我的命令被引用
  • 让 WiX Bootstrapper 用于 .NET 4.0 的引导

    我一直在寻找让我的引导程序能够安装 NET 4 0 和我自己的应用程序 我查看了几个博客和教程 但无法让它发挥作用 我在 Stack Overflow 问题中读到在 WiX 中启动 调用引导程序 https stackoverflow co

随机推荐

  • 我如何模拟查询字符串

    在最小起订量中使用以下内容 public Mock
  • 如何在 html/css/js 中创建折叠树形表格?

    我有一些要显示的数据 这些数据既是表格形式的又是分层的 我想让用户能够展开和折叠节点 除了功能性之外 有点像这样 http www maxdesign com au articles tree table http www maxdesig
  • AngularJS 过滤多个选择输入

    我真的很惊讶没有任何地方有任何关于 AngularJS 更高级过滤机制的文档或问题 它对于任何 UI 都是必不可少的 我需要过滤掉包含当前项目的选择选项 问题是当我们迭代时如何拼接每个选项items来到我们的过滤器 并为正在过滤的列表中的每
  • UIImageView 在 UIScrollView 中捏缩放

    我对使用 UIScrollView 的捏合缩放功能感到满意 但问题是滚动视图中图像的长宽比 目前 我有这个 下图 但我希望图像适合屏幕 如下图所示 景观也有同样的行为 我怎样才能实现这个目标 下面是代码 void viewDidLoad U
  • 在哪里可以找到 tesseract->setvariable 函数的第一个参数的可用属性名称列表?

    从大量的目光中我只能找到其中的一小部分 如下面的 tesseract 的 setVariable 1st param 2nd param 示例 tesseract gt SetVariable tessedit char whitelist
  • 在 Julia 中将 CartesianIndex 数组转换为二维矩阵

    假设我们在 Julia 中有一个笛卡尔索引数组 julia gt typeof indx Array CartesianIndex 2 1 现在我们想使用 PyPlot 将它们绘制为散点图 所以我们应该转换indx 笛卡尔数组到二维矩阵 因
  • 我需要释放这些对象吗?

    我正在使用 Delphi 1 16 位来学习 Pascal 别笑 它工作得很好 而且我买不起更新的版本 我使用 TList 来保存简单地址簿的对象引用 每个对象都添加到 TList 中 如下所示 DataList Add TAddrBook
  • Google App Engine Cloud Endpoints Pr@blem 标记 -> 在干净的 Android 项目上生成 App Engine 错误

    我创建了一个干净的 Android 应用程序A然后我右键单击它并选择Google gt Generate App Engine这导致了这个 错误描述是 Description Resource Path Location Type Ther
  • Java - 如何将 String 设置为 static int

    我有一个只接受字符串的方法 public void setVerticalAlignment String align gd verticalAlignment align accepts only int But gd verticalA
  • tcsh 脚本不退出

    我正在运行 CentOS 7 并且 tcsh 脚本出现问题 我有一个名为 quittest 的简单脚本 bin tcsh echo Simple Test exit 0 当我从终端运行 quittest 时 我得到 Simple Test
  • Azure Functions 和 IHealthCheck

    我需要对 Azure Functions 实施运行状况检查 https learn microsoft com en us aspnet core host and deploy health checks view aspnetcore
  • 如何让这个很长的网址显得很短?

    我已将大部分网站设置为 SE 友好型 但网站的一部分让我感到厌烦 我在其中一个页面中有一个巨大的表单 提交表单 action php page 时 URL 太长 一行包含了半个 word 文档 其中包含所有传递的变量 这是非常丑陋的 有什么
  • 如何在SQL Server中存储unicode字符?

    在 SQL Server 中 我试图创建一个可以存储 unicode 字符的表 具体是这个 https www fileformat info info unicode char 0144 index htm https www filef
  • Python 函数相当于 R 的“pretty()”?

    我正在用 Python 复制一些 R 代码 我被 R 绊倒了pretty 我所需要的只是pretty x where x是一些数字 粗略地说 该函数将 计算漂亮的断点 作为多个 轮 值的序列 我不确定是否有 Python 的等价物 而且我在
  • Google 登录签名的 apk 无法正常工作

    好吧 直到我生成签名的 apk 为止 一切正常 我按照谷歌开发者页面上的说明进行了整个过程 1 我生成了 google services json 文件 其中包含 keyhash 和包名称2 像这样包含所有类级别和应用程序级别依赖项 Top
  • 删除重复项并附带警告

    我有一个包含 rowID 经度 纬度 businessName url 标题的表 这可能看起来像 rowID long lat businessName url caption 1 20 20 Pizza Hut yum com null
  • Angular-UI 全局键绑定

    我已经开始使用 angular ui 按键模块 并且想知道是否有一种方法可以使全局快捷键无论我放置在体内的哪个位置都可以工作 我尝试将 ui keydown 链接到正文 但由于它没有焦点 因此不会触发关键事件 eg 我知道我可以只关注一个
  • 在C++中,当我需要使用枚举时,如何避免#include头文件?

    在我的 C 头文件中 我尝试使用前向声明 class MyClass 而不是 include 类头 正如许多 C 编码标准中所建议的那样 Google C 样式指南就是其中之一 不幸的是 当我引入枚举时 我无法再进行前向声明了 像这样 my
  • 如何使用 Laravel 5.5 身份验证使电子邮件登录不区分大小写

    在构建我的应用程序时 我通过运行使用了 Laravel 身份验证脚手架php artisan make auth这很棒 节省了我很多时间 但是 我遇到了用户无法登录的问题 因为他们不记得最初注册时使用的电子邮件大小写 例如 注册的用户 em
  • Wix Burn:自定义引导程序升级,但与旧版本并排安装

    我正在努力解决自定义引导程序升级问题 依照指示这个线程 https stackoverflow com questions 17676657 wix burn bootstrapper majorupgrade 我正在使用 LaunchAc