查看: 58|回复: 1
打印 上一主题 下一主题

江西快3遗漏和值推荐: [教程] 通过MsiQueryProductState检测VC运行库是否安装

[复制链接]
  • TA的每日心情
    慵懒
    2016-12-20 21:05
  • 江西快3走势图开奖结果 www.d0ht9.cn 签到天数: 12 天

    [LV.3]偶尔看看II

    10

    主题

    46

    帖子

    576

    积分

    积分
    576
    跳转到指定楼层
    楼主
    发表于 5 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 Nanlon 于 2018-7-1 17:48 编辑

    MsiQueryProductState

    MsiQueryProductState的输入参数为产品ID,其返回值为产品安装状态,若返回值为INSTALLSTATE_DEFAULT则表示已安装。

    返回值及安装状态:
    INSTALLSTATE 返回值       产品的安装状态
    INSTALLSTATE_UNKNOWN -1 该产品未被广告或安装
    INSTALLSTATE_ADVERTISED         1 该产品已广告但未安装
    INSTALLSTATE_ABSENT 2 该产品为不同的用户安装            
    INSTALLSTATE_DEFAULT 5 该产品已为当前用户安装


    NSIS检测代码示例:
    1. Name "msi"
    2. OutFile ".\msi.exe"
    3. InstallDir $TEMP

    4. XPStyle on
    5. InstallColors /windows
    6. ShowInstDetails show

    7. Section -MsiQueryProductState
    8.         System::Call 'msi::MsiQueryProductState(t"{1D8E6291-B0D5-35EC-8441-6616F567A0F7}")i.R0'
    9.         DetailPrint "返回值:$R0"
    10.         IntCmp $R0 5 INSTALLSTATE_DEFAULT STATE_OTHER
    11.         
    12.         STATE_OTHER:
    13.         IntCmp $R0 1 INSTALLSTATE_ADVERTISED INSTALLSTATE_ABSENT INSTALLSTATE_UNKNOWN
    14.         
    15.         INSTALLSTATE_UNKNOWN:
    16.         DetailPrint "安装状态:该产品未被广告或安装"
    17.         Goto Done
    18.         
    19.         INSTALLSTATE_ADVERTISED:
    20.         DetailPrint "安装状态:该产品已广告但未安装"
    21.         Goto Done
    22.         
    23.         INSTALLSTATE_ABSENT:
    24.         DetailPrint "安装状态:该产品为不同的用户安装"
    25.         Goto Done
    26.         
    27.         INSTALLSTATE_DEFAULT:
    28.         DetailPrint "安装状态:该产品已为当前用户安装"
    29.         
    30.         Done:
    31. SectionEnd
    复制代码

    附:最新VC运行库GUID

    VCredist_2005x64 - 8.0.61000

    {ad8a2fa1-06e7-4b0d-927d-6e54b3d31028}

    VCredist_2005x86 - 8.0.61001

    {710f4c1c-cc18-4c49-8cbf-51240c89a1a2}

    VCredist_2008x64 - 9.030729.6161

    {5FCE6D76-F5DC-37AB-B2B8-22AB8CEDB1D4}

    VCredist_2008x86 - 9.030729.6161

    {9BE518E6-ECC6-35A9-88E4-87755C07200F}

    VCredist_2010x64 - 10.0.40219

    {1D8E6291-B0D5-35EC-8441-6616F567A0F7}

    VCredist_2010x86 - 10.0.40219

    {F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}

    VCredist_2012x64 - 11.0.61030.0

    Additional Runtime:

    {37B8F9C7-03FB-3253-8781-2517C99D7C00}

    Minimum Runtime:

    {CF2BEA3C-26EA-32F8-AA9B-331F7E34BA97}

    VCredist_2012x86 - 11.0.61030.0

    Additional Runtime:

    {B175520C-86A2-35A7-8619-86DC379688B9}

    Minimum Runtime:

    {BD95A8CD-1D9F-35AD-981A-3E7925026EBB}

    VCredist_2013x64 - 12.0.40664.0

    Additional Runtime:

    {010792BA-551A-3AC0-A7EF-0FAB4156C382}

    Minimum Runtime:

    {53CF6934-A98D-3D84-9146-FC4EDF3D5641}

    VCredist_2013x86 - 12.0.40664.0

    Additional Runtime:

    {D401961D-3A20-3AC7-943B-6139D5BD490A}

    Minimum Runtime:

    {8122DAB1-ED4D-3676-BB0A-CA368196543E}

    VCredist_2015x64 - 14.0.24516.0

    Additional Runtime:

    {6B66663C-055F-3A2E-A09D-168840A82362}

    Minimum Runtime:

    {EE6E34BF-D825-384C-AFF5-305DF5CFAF5A}

    VCredist_2015x86 - 14.0.24516.0

    Additional Runtime:

    {B4EB15A2-6582-346E-8501-B6E907F23B80}

    Minimum Runtime:

    {7B82F823-A226-3463-B438-AF4DDDE2B810}

    VCredist_2017x64 - 14.14.26429.4

    Additional Runtime:

    {B12F584A-DE7A-3EE3-8EC4-8A64DBC0F2A7}

    Minimum Runtime:

    {03EBF679-E886-38AD-8E70-28658449F7F9}

    VCredist_2017x86 - 14.14.26429.4

    Additional Runtime:

    {6F0267F3-7467-350D-A8C8-33B72E3658D8}

    Minimum Runtime:

    {7753EC39-3039-3629-98BE-447C5D869C09}




    评分

    参与人数 1金钱 +20 收起 理由
    mefcl + 20 哈哈,你的运行库安装包越来越完善了.

    查看全部评分

    该用户从未签到

    1

    主题

    132

    帖子

    685

    积分

    积分
    685

    NSIS元老

    沙发
    发表于 前天 17:46 | 只看该作者
    很早很早以前还写过一个头文件专门用来检测这个,只不过没发出来。最初想法来自 X-star,不过还是我自己最终完善了代码。当时每个版本只支持单一 GUID,但是后来发现现在同一个版本运行库中英文包的产品 GUID 也不同,也没改代码,且这些年运行库又有版本更新,需要收集更多产品 GUID,就再没去维护过这个头文件了。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|联系我们|江西快3走势图开奖结果    

    GMT+8, 2018-7-6 13:07 , Processed in 0.023898 second(s), 16 queries , MemCache On.

    Powered by Discuz!X3.3

    © 2015-2017 江西快3走势图开奖结果

    快速回复 江西快3走势图开奖结果 返回列表
  • 斯柯达速派2017年上半年累计销量同比上涨36% 2018-12-11
  • 湖北“儿子娃娃”的医疗援疆路 2018-12-11
  • 高清:巴西国奥队积极备战并召开新闻发布会 2018-12-04
  • 你的神论:“管理的目标都大同小异,都是为了社会的和谐稳定和发展进步,因为谁也不会希望通过管理把社会越搞越乱越搞越落后。” 2018-11-23
  • 零下12℃ 北京密云消防员练冰上救援功夫 2018-11-08
  • 美帝拉拢人民,才能反对共产党。 2018-10-30
  • 泰国力争今年吸引1000万中国游客 2018-10-25
  • 弱视不是近视,儿童弱视的危害不可小觑 2018-10-25
  • 在端午品味文化的芳香 锐评 2018-09-19
  • 水果呵护男性健康 葡萄荔枝莲子白果要多吃 2018-09-08
  • 学习教育显成效 党性修养有提高(深度关注) 2018-09-08
  • 宁夏在马来西亚举办旅游推介会 2018-08-22
  • 山西:首批2亿元专项资金保障提升农村安全饮水工程 2018-08-16
  • 走奋发图强之路,壮我中华科技实力。 2018-08-05
  • 社区 —频道 春城壹网 七彩云南 一网天下 2018-08-05
  • 820| 290| 682| 813| 893| 767| 703| 889| 40| 496|