Wix 自定义操作仅在安装期间执行,但不在升级和删除时执行?

2024-03-24

我有一个自定义操作,该操作只能在安装期间执行,而不能在次要版本升级和删除期间执行? 我尝试了不同的条件,但 CA 正在次要版本期间执行。

1)(未安装)或不(删除=“全部”并升级产品代码)

2)(未安装)

3)(未安装)或未(已安装并删除=“全部”并升级产品代码)

但对我来说没有任何作用。 我的 CA 执行了两次,可能是因为在升级过程中安装程序正在卸载和安装。 有关如何仅在安装期间而不是在升级期间执行 CA 的任何建议。


请测试: 你可以尝试一下(NOT Installed) AND (NOT WIX_UPGRADE_DETECTED)作为第一个测试(看到这个答案 https://stackoverflow.com/a/53937078/129130),然后使用下面的调试方法测试正确。没有保证!条件是臭名昭著的。

  • 测试是否将卸载作为主要升级的一部分运行的常用方法是使用UPGRADINGPRODUCTCODE财产 https://learn.microsoft.com/en-us/windows/win32/msi/upgradingproductcode.
  • 你应该知道这些问题涉及到UPGRADINGPRODUCTCODE https://stackoverflow.com/a/51090120/129130- 从表面上看,它的行为可能与您所期望的不同。
  • 我建议使用WIX_UPGRADE_DETECTED代替UPGRADINGPRODUCTCODE在上述条件下,使其尽可能简单。这是 WiX 特定的属性(UPGRADINGPRODUCTCODE是内置 MSI 属性)。

Top Tip: MSI 条件的正确性是出了名的复杂。您可以通过所描述的方法非常有效地调试 MSI 条件 这里:如何在安装和修改时执行条件自定义操作 仅有的? https://stackoverflow.com/questions/52370505/how-to-execute-conditional-custom-action-on-install-and-modify-only/52377800#52377800(参见底部部分 - 使用 VBScript 消息框,然后 在不同模式下运行设置)。

小升级: 请注意小升级非常有限 https://stackoverflow.com/a/51444047/129130 - and 另一个答案 https://stackoverflow.com/a/55252064/129130。请查看这些限制,以确保您了解这些限制,并确保在发布您的软件时考虑到这些限制。还要确保测试安装程序的修复和修改方案。

Advice: Often it is better to use the launch sequence of the application to perform application configuration than relying on custom actions since they have complex sequencing, conditioning and impersonation issues.

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

Wix 自定义操作仅在安装期间执行,但不在升级和删除时执行? 的相关文章

随机推荐

  • 如何在没有日志、没有信息的情况下调试 Laravel 错误 500

    我正在开发现有的 Laravel 应用程序以开发新功能 但在我的计算机上安装该应用程序后 出现错误 500 并且没有任何线索来解决它 在我的 app php 文件中我设置了 env gt env APP ENV local debug gt
  • 是否建议在一个文件中包含多个类? [复制]

    这个问题在这里已经有答案了 可能的重复 我应该在一个文件中放入多少个 Python 类 https stackoverflow com questions 106896 how many python classes should i pu
  • Rails 3 检查属性是否更改

    在 Rails 3 中更新之前需要检查属性块是否已更改 街道 1 街道 2 城市 州 邮政编码 我知道我可以使用类似的东西 if user street1 params user street1 then do something end
  • R中似乎不存在错误光栅文件

    由于 pgirmess 包出现故障 我重新安装了 R 我已经重新下载了所有必需的软件包 我使用了在重新安装之前运行良好的相同脚本 但是我无法读取光栅对象 并且收到一条消息 Error file exists filename is not
  • 更新未屏蔽的 numpy 数组

    我的问题是双重的 首先 假设我有两个 numpy 数组 它们被部分屏蔽 array old 10 11 12 14 17 array update 5 9 15 8 13 19 16 如何创建一个新数组 其中所有非屏蔽值都被更新或修改 例如
  • Python easygui 无法选择文件

    这是我的代码 import easygui f easygui fileopenbox print f 看起来很简单 但是当我运行它时 我无法选择任何文件 请参见链接中的图 抱歉 如果这很愚蠢 但我已经无计可施了 https i stack
  • 安装国际 PHP 扩展 OSX High Sierra

    如何在 PHP 7 1 7 中安装 intl PHP 扩展 随 osx high Sierra 一起提供 所以我有完全相同的问题 正如其他人在这里评论所指出的 High Sierra 附带安装了 PHP 7 1 并且该 PHP 版本已对其进
  • Flutter TextField 输入验证日期

    我正在尝试编写一个日期输入控件 它接受像 23 12 1997 这样的日期 我希望它做的是自动为用户插入 字符 因此 当他们输入 23 时 监听器返回 23 以便他们可以输入 12 此时 监听器再次添加 让用户通过输入 1997 来完成日期
  • 如何将node.js连接到mysql和wamp/xampp服务器?

    我是一名 PHP 程序员 目前从事 WP CI OC 工作 我是node js的绝对初学者 想知道如何一步步连接MySql和WAMP XAMPP 如果我要直播 那么直播服务器的设置是什么 请让我知道一步一步的方法 按照本教程进行操作 教程在
  • 如何使用计时器移动顶点着色器中的点

    我无法弄清楚如何使用顶点着色器通过计时器为我的对象设置动画 我在窗口中的随机位置有一堆点 我想要做的是将这些点移动到窗口的中心 即 0 0 0 0 然后在某个点到达窗口中心后停止在那里 这是我的顶点着色器代码 layout location
  • 使用 PhoneGap / Cordova 的 Web 应用程序的状态栏通知

    我正在使用最新版本的 PhoneGap 开发适用于 iOS 和 Android 的 Web 应用程序 我想在手机状态栏上向用户发送通知 但我不知道该怎么做 似乎曾经存在过一个 Cordova 插件 StatusBarNotification
  • 使用 Hibernate 验证日期

    我们有现有的酒店管理系统 我被要求在系统的 创建住宿 功能中添加日期验证 该对话框如下所示 结束日期 已经过验证 如下面的代码所示 这 FutureHibernate 中的注释确保日期是将来的日期 NotNull Future DateTi
  • 从调用 forEach() 数组方法的方法返回。 JavaScript

    我正在使用从 JavaScript 中的数组调用的 forEach 方法 当我写作时return 在为数组中的每个元素调用的方法内部的某处 我从为特定元素调用的方法中返回 仅此而已 但我真正想要的是从数组调用 forEach 的方法中返回
  • 如何让 Rust 的 openssl crate 解密来自对称加密 gem 的数据,而不会出现 Node Crypto 自动删除的乱码?

    我正在使用 Rust 中的对称加密 gem 解密 Ruby on Rails 应用程序创建的遗留数据 请参阅我之前的问题如何用另一种语言解密由 Ruby 的 对称加密 gem 加密的数据 https stackoverflow com qu
  • 什么时候应该使用 Throwable 而不是 new Exception?

    Given Throwable is Exception的超类 当我阅读有关编写自己的 例外 的文章时 我看到了以下示例Throwable被用在catch块和其他文本显示new Exception 被用在catch堵塞 我还没有看到什么时候
  • 在Java中实现去抖动

    对于我正在编写的一些代码 我可以使用一个很好的通用实现debounce在爪哇 public interface Callback public void call Object arg class Debouncer implements
  • 获取 pandas 列左侧最接近的值

    我有4个国家的每日气温如下 Day GB US AU CA 1 33 2 32 3 23 4 34 5 23 34 6 45 34 7 34 23 8 34 33 9 34 45 44 12 10 23 23 23 23 11 34 23
  • PhoneGap Android 入门“缺少以下一项”

    我目前正在关注本教程 http docs phonegap com en 2 2 0 guide getting started android index md html Getting 20Started 20with 20Androi
  • 自定义配置部分

    我目前正在尝试在我忙碌的项目中实现自定义配置部分 无论我尝试什么 我都会收到以下错误 为 pageAppearanceGroup pageAppearance 创建配置节处理程序时发生错误 无法从程序集 System Configurati
  • Wix 自定义操作仅在安装期间执行,但不在升级和删除时执行?

    我有一个自定义操作 该操作只能在安装期间执行 而不能在次要版本升级和删除期间执行 我尝试了不同的条件 但 CA 正在次要版本期间执行 1 未安装 或不 删除 全部 并升级产品代码 2 未安装 3 未安装 或未 已安装并删除 全部 并升级产品