升级期间获取当前安装软件的版本

时间:2016-05-26 14:34:58

标签: wix

升级期间,我想检索已安装的软件版本。经过一段时间的研究,我实现了这段代码:

<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)。有没有办法获得实际版本?

1 个答案:

答案 0 :(得分:1)

您需要添加代码来调用MsiGetProductInfo(Product guid .... INSTALLPROPERTY_VERSIONSTRING)或脚本/互操作等效项并在升级对话框表单中显示。我不知道提供此功能的任何Windows Installer属性或WiX支持。

如果检索此项需要提升权限,则可能会出现问题,因为默认情况下不会提升早期UI序列。

相关问题