【发布时间】:2013-09-17 05:43:57
【问题描述】:
我需要检测计算机上当前安装了 MSI 软件包的哪些功能,但我只知道 MSI 升级代码 guid。 任何想法如何做到这一点的好方法?
谢谢, 马雷克
【问题讨论】:
标签: windows-installer installshield
我需要检测计算机上当前安装了 MSI 软件包的哪些功能,但我只知道 MSI 升级代码 guid。 任何想法如何做到这一点的好方法?
谢谢, 马雷克
【问题讨论】:
标签: windows-installer installshield
如果您只是从同一安装的先前版本迁移功能状态,您可以通过编写升级表来做到这一点 - 填写您的升级代码和版本范围,然后将属性设置为“771”,它将复制在不删除其他安装的情况下覆盖功能状态。
如果您需要在不相关的应用程序中执行此操作,可以使用 Automation Interface 执行此操作 - 使用 MsiEnumRelatedProducts 调用从升级代码中获取产品代码,然后将该产品代码与 MsiEnumFeatures 一起使用以获取列表特征,然后用 MsiQueryFeatureState 读取特征状态。
【讨论】: