NSIS:判断并安装.NET Framework的例子(转载)
NSIS:判斷并安裝.NET Framework的例子
現(xiàn)在.NET開發(fā)的軟件已經(jīng)大行其道,但有些操作系統(tǒng)并不符合軟件的運(yùn)行要求,所以,我們需要在安裝程序中進(jìn)行.NET Framework的判斷,如果不符合要求就進(jìn)行靜默安裝。?
首先,我們在Function區(qū)段進(jìn)行當(dāng)前.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區(qū)段進(jìn)行.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
當(dāng)然,在Section區(qū)段可以做到自動(dòng)在線下載而不把.NET打到安裝包中,這樣可以減小安裝包體積,效果可參考紫辰記賬本安裝程序。
?
轉(zhuǎn)載自:http://www.flighty.cn/html/bushu/20110527_126.html
轉(zhuǎn)載于:https://www.cnblogs.com/wuhenke/archive/2011/05/31/2065220.html
總結(jié)
以上是生活随笔為你收集整理的NSIS:判断并安装.NET Framework的例子(转载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么保护泰山地区的气候资源?
- 下一篇: 使用.NET中的XML注释(一) --