UPGRADINGPRODUCTCODE 条件在库中的 wixui_install.wxs 中不起作用

Posted

技术标签:

【中文标题】UPGRADINGPRODUCTCODE 条件在库中的 wixui_install.wxs 中不起作用【英文标题】:UPGRADINGPRODUCTCODE condition not working in wixui_install.wxs in library 【发布时间】:2012-08-08 09:30:32 【问题描述】:

如果第一次安装和重大升级,我想将下一个按钮的值更改为相应的 dlg。

这在 wix 库中不起作用。

Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="PortNoDlg" >LicenseAccepted = "1" AND NOT UPGRADINGPRODUCTCODE

Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" >LicenseAccepted = "1" AND UPGRADINGPRODUCTCODE

【问题讨论】:

【参考方案1】:

UPGRADINGPRODUCTCODE 仅用于隐藏卸载通过Upgrade table 和FindRelatedProducts/RemoveExistingProducts 找到的包。这不会显示任何 UI,因此从该属性调节控制事件将无济于事。

相比之下,UPGRADINGPRODUCTCODE 没有为较新的安装设置。如果您想根据是否卸载以前的版本来决定您的控件事件,则必须引用升级表中每条记录的ActionProperty 中指定的属性。

【讨论】:

我已经在我的项目中做到了。那么有没有其他方法可以区分第一次安装时要执行的操作以及主要升级时要执行的操作。我试过了 "NEWER_VERSION_FOUND" AND "OLD_VERSION_FOUND"

以上是关于UPGRADINGPRODUCTCODE 条件在库中的 wixui_install.wxs 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

高级安装程序 - 更新时不覆盖文件,但卸载时删除文件

使用带条件默认参数的部分

Android 在库项目中添加 Firebase Crashlytics

如何在库项目中引用资产

在库中搜索 mangle

Kotlin Android Extensions 在库类型模块中不起作用