我有一个驱动程序,并使用TAG“ difx:Driver
”使用WiX安装程序进行安装。我的驱动程序已禁用卸载(以避免未经授权的卸载)。
我可以检测到正在升级的驱动程序/或正在升级/卸载的MSI,以便可以抢先卸载驱动程序吗?
答案 0 :(得分:1)
条件可能很难。我时间不多,恐怕只有一些提示。我觉得这很混乱,但是等一下我会回头。
主要升级 :在重大升级过程中,WiX内置的MSI文件设置以下属性: WIX_UPGRADE_DETECTED
(或> WIX_DOWNGRADE_DETECTED
。如果您愿意,这是针对正在安装的新安装程序的版本2。即将卸载的版本1安装程序具有另一个属性集,即MSI标准的 UPGRADINGPRODUCTCODE
。这可能非常令人困惑。
因此得出的结论是,条件 WIX_UPGRADE_DETECTED
在正在运行的较新设置中的主要升级方案中为true 。项目符号:
WIX_UPGRADE_DETECTED
是正确的。UPGRADINGPRODUCTCODE
是正确的-正在被卸载。 卸载 :条件 REMOVE="ALL"
仅在卸载期间为true。
已安装 :条件 Installed
将适用于除全新安装之外的所有安装模式,并且(许多情况令人惊讶)大型升级期间安装程序2(新版本)的安装。主要升级是新产品,因此安装条件为true。新产品尚未安装。对于次要升级,已安装为正确。