我试图使用 Windows api 来查找已安装应用程序的版本信息。
我使用升级代码通过 MsiEnumRelatedProducts api 查找产品代码,但是当我尝试使用产品代码使用 MsiGetProductInfo 时,版本信息返回为垃圾。
这是我的 MsiGetProductInfo api:
[DllImport("msi.dll", CharSet = CharSet.Unicode)]
private static extern Int32 MsiGetProductInfo(
string product, string property, [Out] StringBuilder valueBuf,
ref Int32 len);
MsiGetProductInfo(sbProductCode, "INSTALLPROPERTY_INSTALLVERSION", builder, ref len);
对我做错了什么有什么想法吗?
为了响应 @JoshHetland,要传递的字符串是 CamelCase 后缀INSTALLPROPERTY_VERSIONSTRING
- 请记住 MSI 区分大小写。
So:
INSTALLPROPERTY_VERSIONSTRING
变成VersionString
INSTALLPROPERTY_INSTALLDATE
变成InstallDate
等等。
可用属性的完整列表位于MsiGetProductInfo 函数的 MSDN 页面 .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)