升级期间,我想检索已安装的软件版本。经过一段时间的研究,我实现了这段代码:
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." AllowSameVersionUpgrades="yes" />
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion Minimum="10.0.0.0" Maximum="$(var.VersionNumber)" OnlyDetect="yes" Property="DETECTED_VERSION" />
</Upgrade>
在升级期间,在自定义操作中,当我读取DETECTED_VERSION
属性时,它包含guid(可能是产品ID)。有没有办法获得实际版本?
答案 0 :(得分:1)
您需要添加代码来调用MsiGetProductInfo(Product guid .... INSTALLPROPERTY_VERSIONSTRING)或脚本/互操作等效项并在升级对话框表单中显示。我不知道提供此功能的任何Windows Installer属性或WiX支持。
如果检索此项需要提升权限,则可能会出现问题,因为默认情况下不会提升早期UI序列。