zoukankan      html  css  js  c++  java
  • 在NSIS脚本内加入对.net framework和MDAC版本的判断

    首先到NSIS官网上下载一个插件,名:XtInfoPlugin.zip,链接地址:http://nsis.sourceforge.net/mediawiki/images/d/de/XtInfoPlugin.zip
    将插件:xtInfoPlugin.dll复制到NSIS安装目录..\NSIS\Plugins下
    在脚本内添加一句
    如:!addplugindir "C:\Program Files\NSIS\Plugins"
    然后在Funtion.onInit内
    ;判断DotNetFramework 1.1是否已经安装
    xtInfoPlugin::IsDotNetFrameworkInstalled
    Pop $0
    ${if} $0 == true
    xtInfoPlugin::GetDotNetFrameworkId
    ; GetDotNetFrameworkId (id methods) return x.x and not build info
    Pop $0
    ${if} $0 != "1.1"
    Messagebox MB_OK "系统检测到您计算机上的DotNetFramework版本低于1.1,点击[确定]安装"
    EXECWAIT '"$PLUGINSDIR\dotnetfx_cn.exe"'
    ;!insertmacro DetailText "正在安装.net framework 1.1组件"
    ${endif}
    ${else}
    Messagebox MB_OK "系统检测到您计算机上没有安装DotNetFramework1.1,点击[确定]安装"
    EXECWAIT '"$PLUGINSDIR\dotnetfx_cn.exe"'
    ;!insertmacro DetailText "正在安装.net framework 1.1组件"
    ${endif}

    ;判断MDAC当前版本
    Strcpy $2 "2.7"
    Push $2
    xtInfoPlugin::GetMDACVersion
    Pop $1
    Push $1
    xtInfoPlugin::CompareVersion
    Pop $0
    ${if} $0 < 0
    EXECWAIT '"$PLUGINSDIR\mdac_typ.exe"'
    MessageBox MB_OK "MDAC version is OLDER than $2 (found: $1)"
    ${else}
    MessageBox MB_OK "MDAC version is NEWER than $2 (found: $1)"
    ${endif}
    over
    其实在XtInfoPlugin.zip压缩包内有Example的
  • 相关阅读:
    docker备忘录
    GUAVA-RateLimit
    JDK各版本发展史
    C++ 基础备忘录
    浅谈MES
    MES在流程和离散制造企业的15个差别!
    mysql连接oracle补偿方案—odbc驱动
    WinForm控件Chart的图表类型
    C#的异常处理机制(try...catch...finally)
    oracle 横向列变为纵向列
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/1296371.html
Copyright © 2011-2022 走看看