当前位置:首页 » .NET编程经验 » 正文

获取msi文件的ProductCode

2015年6月20日 17:11:19  分类: .NET编程经验  参与: 人  点这评论

 

ProductCode可以在部署项目属性中找到,但是怎么用代码获取msi文件的ProductCode呢?

以下是代码片段:
private string GetProductCode() 
{ 
System.Type oType = System.Type.GetTypeFromProgID("WindowsInstaller.Installer"); 
Installer inst = System.Activator.CreateInstance(oType) as Installer; 
Database DB = inst.OpenDatabase("msi文件完整路径", MsiOpenDatabaseMode.msiOpenDatabaseModeReadOnly); 
string str = "SELECT * FROM Property WHERE Property = 'ProductCode'"; 

WindowsInstaller.View thisView = DB.OpenView(str); 
thisView.Execute(); 
WindowsInstaller.Record thisRecord = thisView.Fetch(); 
string result = thisRecord.get_StringData(2); 

return result; 
}

  注意添加WindowsInstaller的引用:c:\windows\sytem32\msi.dll


来源:时间去哪儿了博客(微信/QQ号:903918446),转载请保留出处和链接!

本文链接:http://timegowhere.com/post/msi_productcode.html

本文标签:  

<< 上一篇下一篇 >>

  • 评论(1)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

相关文章

    搜索

    网站分类

    Tags列表

    最新留言

    微信公众号【双语悦读】

      【个人微信】

    站点地图 | 网站标签 | 给我留言

    Copyright © 2014-2016 timegowhere.com. All rights reserved. 粤ICP备15081222号