杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2280|回复: 0

在NSIS脚本内加入对.net framework和MDAC版本的判断

[复制链接]
发表于 2016-9-2 19:53:10 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
首先到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内
  1. ;判断DotNetFramework 1.1是否已经安装
  2. xtInfoPlugin::IsDotNetFrameworkInstalled
  3. Pop $0
  4. ${if} $0 == true
  5. xtInfoPlugin::GetDotNetFrameworkId
  6. ; GetDotNetFrameworkId (id methods) return x.x and not build info
  7. Pop $0
  8. ${if} $0 != "1.1"
  9. Messagebox MB_OK "系统检测到您计算机上的DotNetFramework版本低于1.1,点击[确定]安装"
  10. EXECWAIT '"$PLUGINSDIR\dotnetfx_cn.exe"'
  11. ;!insertmacro DetailText "正在安装.net framework 1.1组件"
  12. ${endif}
  13. ${else}
  14. Messagebox MB_OK "系统检测到您计算机上没有安装DotNetFramework1.1,点击[确定]安装"
  15. EXECWAIT '"$PLUGINSDIR\dotnetfx_cn.exe"'
  16. ;!insertmacro DetailText "正在安装.net framework 1.1组件"
  17. ${endif}
复制代码


;判断MDAC当前版本
  1. Strcpy $2 "2.7"
  2. Push $2
  3. xtInfoPlugin::GetMDACVersion
  4. Pop $1
  5. Push $1
  6. xtInfoPlugin::CompareVersion
  7. Pop $0
  8. ${if} $0 < 0
  9. EXECWAIT '"$PLUGINSDIR\mdac_typ.exe"'
  10. MessageBox MB_OK "MDAC version is OLDER than $2 (found: $1)"
  11. ${else}
  12. MessageBox MB_OK "MDAC version is NEWER than $2 (found: $1)"
  13. ${endif}
  14. over
复制代码

其实在XtInfoPlugin.zip压缩包内有Example的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-17 22:39 , Processed in 0.128493 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表