Section -.NET Framework;检测是否是需要的.NET Framework版本Call GetNetFrameworkVersionPop $R1;${If} $R1 < '2.0.50727';${If} $R1 < '3.5.30729.4926'${If} $R1 < '4.0.30319';${If} $R1 < '4.5.52747'MessageBox MB_YESNO|MB_ICONQUESTION "此软件运行需要.NET Framework 4.0运行环境,但您机器上似乎没有安装此环境。$\r$\n您有两个选择:$\r$\n1.您自己到互联网上下载.NET Framework 4.0安装,然后再运行此软件$\r$\n2.使用此安装程序在线下载并安装.NET Framework 4.0$\r$\n$\r$\n现在在线下载并安装.NET Framework 4.0,请确认您的机器已连接互联网.继续吗?" IDNO +2Call DownloadNetFramework4${ENDIF}
SectionEndFunction GetNetFrameworkVersion
;获取.Net Framework版本支持Push $1Push $0ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Install"ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Version"StrCmp $0 1 KnowNetFrameworkVersion +1ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" "Install"ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" "Version"StrCmp $0 1 KnowNetFrameworkVersion +1ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup" "InstallSuccess"ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup" "Version"StrCmp $0 1 KnowNetFrameworkVersion +1ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727" "Install"ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727" "Version"StrCmp $1 "" +1 +2StrCpy $1 "2.0.50727.832"StrCmp $0 1 KnowNetFrameworkVersion +1ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" "Install"ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" "Version"StrCmp $1 "" +1 +2StrCpy $1 "1.1.4322.573"StrCmp $0 1 KnowNetFrameworkVersion +1ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\.NETFramework\policy\v1.0" "Install"ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\.NETFramework\policy\v1.0" "Version"StrCmp $1 "" +1 +2StrCpy $1 "1.0.3705.0"StrCmp $0 1 KnowNetFrameworkVersion +1StrCpy $1 "not .NetFramework"KnowNetFrameworkVersion:Pop $0Exch $1
FunctionEndFunction DownloadNetFramework2
;下载 .NET Framework 2.0 SP2NSISdl::download /TRANSLATE2 '正在下载 %s' '正在连接...' '(剩余 1 秒)' '(剩余 1 分钟)' '(剩余 1 小时)' '(剩余 %u 秒)' '(剩余 %u 分钟)' '(剩余 %u 小时)' '已完成:%skB(%d%%) 大小:%skB 速度:%u.%01ukB/s' /TIMEOUT=7500 /NOIEPROXY 'http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe' '$TEMP\NetFx20SP2_x86.exe'Pop $R0StrCmp $R0 "success" 0 +3SetDetailsPrint textonlyDetailPrint "正在安装 .NET Framework 2.0 SP2..."SetDetailsPrint listonlyExecWait '$TEMP\NetFx20SP2_x86.exe /quiet /norestart' $R1Delete "$TEMP\NetFx20SP2_x86.exe"FunctionEndFunction DownloadNetFramework35
;下载 .NET Framework 3.5 SP1NSISdl::download /TRANSLATE2 '正在下载 %s' '正在连接...' '(剩余 1 秒)' '(剩余 1 分钟)' '(剩余 1 小时)' '(剩余 %u 秒)' '(剩余 %u 分钟)' '(剩余 %u 小时)' '已完成:%skB(%d%%) 大小:%skB 速度:%u.%01ukB/s' /TIMEOUT=7500 /NOIEPROXY 'http://download.microsoft.com/download/2/0/E/20E90413-712F-438C-988E-FDAA79A8AC3D/dotnetfx35.exe' '$TEMP\dotnetfx35.exe'Pop $R0StrCmp $R0 "success" 0 +2SetDetailsPrint textonlyDetailPrint "正在安装 .NET Framework 3.5 SP1..."SetDetailsPrint listonlyExecWait '$TEMP\dotnetfx35.exe /quiet /norestart' $R1Delete "$TEMP\dotnetfx35.exe"FunctionEndFunction DownloadNetFramework4
;下载 .NET Framework 4.0NSISdl::download /TRANSLATE2 '正在下载 %s' '正在连接...' '(剩余 1 秒)' '(剩余 1 分钟)' '(剩余 1 小时)' '(剩余 %u 秒)' '(剩余 %u 分钟)' '(剩余 %u 小时)' '已完成:%skB(%d%%) 大小:%skB 速度:%u.%01ukB/s' /TIMEOUT=7500 /NOIEPROXY 'http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe' '$TEMP\dotNetFx40_Full_x86_x64.exe'Pop $R0StrCmp $R0 "success" 0 +2SetDetailsPrint textonlyDetailPrint "正在安装 .NET Framework 4.0 Full..."SetDetailsPrint listonlyExecWait '$TEMP\dotNetFx40_Full_x86_x64.exe /quiet /norestart' $R1Delete "$TEMP\dotNetFx40_Full_x86_x64.exe"FunctionEndFunction DownloadNetFramework45
;下载 .NET Framework 4.5NSISdl::download /TRANSLATE2 '正在下载 %s' '正在连接...' '(剩余 1 秒)' '(剩余 1 分钟)' '(剩余 1 小时)' '(剩余 %u 秒)' '(剩余 %u 分钟)' '(剩余 %u 小时)' '已完成:%skB(%d%%) 大小:%skB 速度:%u.%01ukB/s' /TIMEOUT=7500 /NOIEPROXY 'http://download.microsoft.com/download/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe' '$TEMP\NDP452-KB2901907-x86-x64-AllOS-ENU.exe'Pop $R0StrCmp $R0 "success" 0 +2SetDetailsPrint textonlyDetailPrint "正在安装 .NET Framework 4.5.2 ..."SetDetailsPrint listonlyExecWait '$TEMP\NDP452-KB2901907-x86-x64-AllOS-ENU.exe /quiet /norestart' $R1Delete "$TEMP\NDP452-KB2901907-x86-x64-AllOS-ENU.exe"FunctionEnd

转载于:https://www.cnblogs.com/luoshupeng/p/3988013.html

NSIS检测.NET Framework并在线下载相关推荐

  1. 实时获取ccd图像_薄膜瑕疵在线检测系统0.1mm检测精度_实时在线检测

    原标题:薄膜瑕疵在线检测系统检测精度_实时在线检测 在薄膜的实际生产过程中,由于各方面因素的影响,薄膜表面会出现诸如孔洞.蚊虫.黑点.晶点.划伤.斑点等瑕疵,严重影响了薄膜的质量,给生产商带来了不必要 ...

  2. ML之SVM:调用(sklearn的lfw_people函数在线下载55个外国人图片文件夹数据集)来精确实现人脸识别并提取人脸特征向量

    ML之SVM:调用(sklearn的lfw_people函数在线下载55个外国人图片文件夹数据集)来精确实现人脸识别并提取人脸特征向量 目录 输出结果 代码设计 输出结果 代码设计 from __fu ...

  3. Crawler:基于Crawler和P2P技术实现机器人智能在线下载

    Crawler:基于Crawler和P2P技术实现机器人智能在线下载 目录 实现功能 设计界面 操作步骤 实现功能 设计界面如下,输入你想要获取资料(包括图片.音乐.视频.大电影等)的网址,在线机器人 ...

  4. 双机调试在线下载符号文件

    WIN7 WIN10 是一样的,都是通过 bcdedit 工具设置双机调试模式. 一.设置调试串口 设置调试串口2,管理员身份打开cmd,执行下列指令: bcdedit /dbgsettings se ...

  5. 快速检测npm registry镜像网址下载的速度

    我们用nrm(npm registry manager)来检测看看哪个镜像网址下载的快, 然后可以根据需求, 切换下载快的那个镜像网址 一.先安装nrm npm install nrm -g 二.查看 ...

  6. 【案例28】银行对账单管理-在线下载优化记录

    目录 问题现象 问题分析 解决办法 其他 问题现象 客户最近遇到银行对账单管理-在线下载很慢的问题. 问题分析 查看spr发现银行对账单管理-在线下载大部分耗时都在sql耗时上. nc.itf.obm ...

  7. java压缩文件,在线下载文件并压缩

    2019独角兽企业重金招聘Python工程师标准>>> 压缩本地文件 import java.io.*; import java.net.HttpURLConnection; imp ...

  8. 如何在线下载无水印视频

    网址:如何在线下载无水印视频https://www.shuiyinyun.com/inpaint-video.html 在线下载无水印视频步骤: 提示:下载去除平台水印而不是视频自带水印

  9. vuejs项目纯js导出word、在线下载富文本内容或者网页另存为word文件

    所有前端导入导出方法集合: 前端必备技能知识:JS导出Blob流文件为Excel表格.Vue.js使用Blob的方式实现excel表格的下载(流文件下载)_勤动手多动脑少说多做厚积薄发-CSDN博客_ ...

最新文章

  1. 谈谈你对摩尔定理的理解.摩尔定理当前还是继续有效吗?
  2. 北京大学万小军教授:让机器进行文学创作,有什么进展和挑战?
  3. lsnrctl 与 tnsnames.ora 的联系
  4. 爱之箭发射(las)
  5. php过滤第一个逗号和最后一个逗号,PHP字符过滤函数去除字符串最后一个逗号(rtrim)...
  6. YARN体系学习笔记
  7. 青鸟IT汇微信公众号新增智能机器人
  8. bzoj2683bzoj4066
  9. 1333:【例2-2】Blah数集
  10. error MSB8008: 指定的平台工具集()未安装或无效。请确保选择受支持的 PlatformToolset 值
  11. 如何删除vc2013上配置好的opencv
  12. 到底什么是SPA、SEO、SSR?
  13. win10电脑显示未安装任何音频输出设备问题解决记录
  14. Spring Gateway 报错java.lang.IllegalStateException: COMPLETED 解决
  15. 初出茅庐的小李第73篇博客之offsetof(type, member-designator)使用
  16. 智能AI短视频搬运剪辑小程序,可过原创检测
  17. EasyExcel工具类(开箱即用)
  18. 辛普森悖论如何影响AB测试
  19. 10张图了解UWB技术的工作原理
  20. 关于“尺蠖(huò)效应”

热门文章

  1. Java工程师成神之路:程序员的学习路线规划以及书籍推荐
  2. TiDB 作为 MySQL Slave 实现实时数据同步
  3. HTML5期末大作业:动漫网站设计——html5响应式手机滑动海贼王漫画网页设计(6页) HTML+CSS+JavaScript
  4. 北京四季青租房-----隐藏在中介(安信嘉和)中的黑二房东--韩亮
  5. cvm java_移植JAVA虚拟机CVM到ARM平台(收藏)
  6. NLP - 词的表示:Bow,One-hot, TF-IDF,Word2VNLP
  7. 把房子卖了,把工资发了
  8. Category的用法
  9. 微信录音amr音频文件转mp3格式
  10. linux小红帽实验心得,《小红帽》读后感读书心得400字五篇