NSIS:判断并安装.NET Framework的例子(转载)
NSIS:判斷并安裝.NET Framework的例子
現在.NET開發的軟件已經大行其道,但有些操作系統并不符合軟件的運行要求,所以,我們需要在安裝程序中進行.NET Framework的判斷,如果不符合要求就進行靜默安裝。?
首先,我們在Function區段進行當前.NET版本判斷:
Function GetNetFrameworkVersion
;獲取.Net Framework版本,支持
Push $1
Push $0
ReadRegDWORD $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 +1
ReadRegDWORD $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 +1
ReadRegDWORD $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 +2
StrCpy $1 "2.0.50727.832"
StrCmp $0 1 KnowNetFrameworkVersion +1
ReadRegDWORD $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 +2
StrCpy $1 "1.1.4322.573"
StrCmp $0 1 KnowNetFrameworkVersion +1
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\.NETFramework\policy\v1.0" "Install"
ReadRegDWORD $1 HKLM "SOFTWARE\Microsoft\.NETFramework\policy\v1.0" "Version"
StrCmp $1 "" +1 +2
StrCpy $1 "1.0.3705.0"
StrCmp $0 1 KnowNetFrameworkVersion +1
StrCpy $1 "not .NetFramework"
KnowNetFrameworkVersion:
Pop $0
Exch $1
FunctionEnd
然后,在Section區段進行.NET靜默安裝
Section -.NET
Call GetNetFrameworkVersion
Pop $R1
? ${If} $R1 < '2.0.50727'
? SetDetailsPrint textonly
? DetailPrint "正在安裝 .NET Framework 2.0 SP2..."
? SetDetailsPrint listonly
? SetOutPath "$TEMP"
? SetOverwrite on
? File "NetFx20SP2_x86.exe"
? ExecWait '$TEMP\NetFx20SP2_x86.exe /quiet /norestart' $R1
? Delete "$TEMP\NetFx20SP2_x86.exe"
? ${EndIf}
SectionEnd
當然,在Section區段可以做到自動在線下載而不把.NET打到安裝包中,這樣可以減小安裝包體積,效果可參考紫辰記賬本安裝程序。
?
轉載自:http://www.flighty.cn/html/bushu/20110527_126.html
轉載于:https://www.cnblogs.com/wuhenke/archive/2011/05/31/2065220.html
總結
以上是生活随笔為你收集整理的NSIS:判断并安装.NET Framework的例子(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么保护泰山地区的气候资源?
- 下一篇: [libjingle学习笔记]编译注意事