检测 WDF 驱动升级
Detect WDF driver upgrade
我有一个驱动程序并使用 WiX 安装程序安装,使用 TAG“difx:Driver
”。我的驱动程序已禁用卸载(以避免未经授权的卸载)。
我能否检测到正在升级的驱动程序/或正在升级/卸载我的 MSI,以便我可以抢先卸载驱动程序?
条件可能很艰苦。我时间不多了,恐怕只有一些提示。我认为这变得非常混乱,但我会在一分钟后回顾一下。
主要升级:在主要升级期间,WiX 构建的 MSI 文件设置以下 属性:WIX_UPGRADE_DETECTED
(如果允许降级,也可以使用 WIX_DOWNGRADE_DETECTED
)。这是针对正在安装的新设置,如果您愿意,可以使用版本 2。正在卸载的版本 1 安装程序有另一个 属性 集,MSI 标准 UPGRADINGPRODUCTCODE
。这可能非常令人困惑。
所以结论是条件 WIX_UPGRADE_DETECTED
在主要升级方案 较新的设置 运行 中为真。要点:
- 设置 2:
WIX_UPGRADE_DETECTED
为真。
- 设置 1:
UPGRADINGPRODUCTCODE
是正确的 - 正在卸载。
Uninstall:条件REMOVE="ALL"
仅在卸载时成立。
已安装:条件Installed
对所有安装都为真除了全新安装之外的模式,以及(对许多人来说令人惊讶的)安装程序 2(新版本)在主要升级期间。重大升级是新产品,因此 Installed 条件不成立。新产品尚未安装。已安装将适用于小升级。
我有一个驱动程序并使用 WiX 安装程序安装,使用 TAG“difx:Driver
”。我的驱动程序已禁用卸载(以避免未经授权的卸载)。
我能否检测到正在升级的驱动程序/或正在升级/卸载我的 MSI,以便我可以抢先卸载驱动程序?
条件可能很艰苦。我时间不多了,恐怕只有一些提示。我认为这变得非常混乱,但我会在一分钟后回顾一下。
主要升级:在主要升级期间,WiX 构建的 MSI 文件设置以下 属性:WIX_UPGRADE_DETECTED
(如果允许降级,也可以使用 WIX_DOWNGRADE_DETECTED
)。这是针对正在安装的新设置,如果您愿意,可以使用版本 2。正在卸载的版本 1 安装程序有另一个 属性 集,MSI 标准 UPGRADINGPRODUCTCODE
。这可能非常令人困惑。
所以结论是条件 WIX_UPGRADE_DETECTED
在主要升级方案 较新的设置 运行 中为真。要点:
- 设置 2:
WIX_UPGRADE_DETECTED
为真。 - 设置 1:
UPGRADINGPRODUCTCODE
是正确的 - 正在卸载。
Uninstall:条件REMOVE="ALL"
仅在卸载时成立。
已安装:条件Installed
对所有安装都为真除了全新安装之外的模式,以及(对许多人来说令人惊讶的)安装程序 2(新版本)在主要升级期间。重大升级是新产品,因此 Installed 条件不成立。新产品尚未安装。已安装将适用于小升级。