杉宫竹苑工作室

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

NSIS 打包.net2.0

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

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

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

x
  1. Function GetNetFrameworkVersion
  2.     ;获取.Net Framework版本支持
  3.     Push $1
  4.     Push $0
  5.     ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Install"
  6.     ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Version"
  7.     StrCmp $0 1 KnowNetFrameworkVersion +1
  8.     ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" "Install"
  9.     ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" "Version"
  10.     StrCmp $0 1 KnowNetFrameworkVersion +1
  11.     ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup" "InstallSuccess"
  12.     ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup" "Version"
  13.     StrCmp $0 1 KnowNetFrameworkVersion +1
  14.     ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727" "Install"
  15.     ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727" "Version"
  16.     StrCmp $1 "" +1 +2
  17.     StrCpy $1 "2.0.50727.832"
  18.     StrCmp $0 1 KnowNetFrameworkVersion +1
  19.     ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" "Install"
  20.     ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" "Version"
  21.     StrCmp $1 "" +1 +2
  22.     StrCpy $1 "1.1.4322.573"
  23.     StrCmp $0 1 KnowNetFrameworkVersion +1
  24.     ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\.NETFramework\policy\v1.0" "Install"
  25.     ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\.NETFramework\policy\v1.0" "Version"
  26.     StrCmp $1 "" +1 +2
  27.     StrCpy $1 "1.0.3705.0"
  28.     StrCmp $0 1 KnowNetFrameworkVersion +1
  29.     StrCpy $1 "not .NetFramework"
  30.     KnowNetFrameworkVersion:
  31.     Pop $0
  32.     Exch $1
  33. FunctionEnd
复制代码


需要加在:.onInit中
  1. Call GetNetFrameworkVersion
  2.   Pop $1
  3.   ${If} $1 < '2.0.50727'
  4.   MessageBox MB_OK "检测到您的系统未安装.NET Framework2.0,单击【确定】进行安装。"
  5.   SetDetailsPrint textonly
  6.   DetailPrint "检测到您的系统未安装.NET Framework2.0,单击【确定】进行安装。"
  7.   SetDetailsPrint listonly

  8.   SetOutPath "$TEMP"
  9.   SetOverwrite on
  10.   File "NetFx20SP2_x86.exe"
  11.   ExecWait '$TEMP\NetFx20SP2_x86.exe' $R1  ; /quiet /norestart
  12.   Delete "$TEMP\NetFx20SP2_x86.exe"
  13.   ${EndIf}
  14.   !insertmacro MUI_LANGDLL_DISPLAY
复制代码


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 19:51 , Processed in 0.097607 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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