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的
  • 相关阅读:
    关于C#中timer类 (转)
    AutoResetEvent (转)
    给韬哥的回复
    sql中的case when 的用法涉及到大于小于号
    vba中获取当前日期
    vba中的小技巧
    sql server2000中的两个整数相除保留十位小数
    vba中新建文件,关闭文件,锁屏,覆盖同名文件
    无法切换到google.com的解决办法
    mysql 常用命令
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/1296371.html
Copyright © 2011-2022 走看看