NSIS判断FrameWork是否安装
来源:互联网 发布:js new array [] 区别 编辑:程序博客网 时间:2024/05/16 17:38
NSIS的官方地址是:http://nsis.sourceforge.net/Main_Page
NSIS的下载地址是:http://nsis.sourceforge.net/Download,
NSIS的帮助文档是:http://nsis.sourceforge.net/Docs/
判断DotNetFrameWork是否安装,可以自己添加如下的代码:
;f2.0
Function .onInit
call isStepFramework
FunctionEnd
Function isStepFramework
ReadRegStr $0 HKLM SOFTWARE/Microsoft/.NETFramework/policy/v2.0 "50727"
StrCmp $0 "50727-50727" 0 +2
Return ;相同
SetOutPath "$DOCUMENTS"
File "setupRelease/dotnetfx.exe"
ExecWait '"$DOCUMENTS/dotnetfx.exe"'
FunctionEnd
Function IsNetfx35Installed
;Check is Net 3.5 is install
;Push 0 for true, Pop -1 for false
${registry::Read} "HKEY_LOCAL_MACHINE/Software/Microsoft/NET Framework Setup/NDP/v3.5" "SP" $R0 $R1
${If} $R1 == ""
Push -1
${Else}
Push 0
${EndIf}
FunctionEnd
这是一个定义函数,他首先可以使用${registry::Read}来读取注册表中的值,并放入$R0 $R1,分别是类型和值,判断获取的值是不是为空,就可以判断是不是安装过.NET Framework 3.5了。
安装.NET Framework 3.5:
Function InstallDotNetFx
SetOutPath "$PLUGINSDIR"
Banner::show /NOUNLOAD "正在安装.NET运行库,请耐心等待..."
ExecWait '"$EXEDIR/DotNetFX35/dotNetFx35setup.exe"' $0
pop $0
${If} $0 != "0"
Banner::destroy
abort
${EndIf}
Banner::destroy
FunctionEnd
这是.NET Framework 3.5的安装,我选择了dotNetFx3.5的离线安装包,并将其放在安装文件的目录下,这样可以不把
.NET Framework 3.5打包到程序中,减少程序的大小。$EXEDIR是NSIS的内部程序常量,可以获取安装文件的目录。而且他还提供了很多的内部宏和常量。
插件的自作,需要访问已经安装的程序目录,这就要使用对其注册表的方法,将程序的安装目录获取,对于NSIS,这也是相当的简单的。
首先在安装目录的最上方:
InstallDir "$PROGRAMFILES/Test"
修改为:
InstallDirRegKey HKLM "SOFTWARE/Test" "Path"
然后在Function .onInit中添加如下的内容:
StrCmp $INSTDIR "" 0 Continue
MessageBox MB_OK|MB_ICONSTOP "Test 未安装,请先安装Test。"
Abort
Continue:
相当的简单。
- NSIS判断FrameWork是否安装
- 判断是否安装.Net Framework
- C++判断是否安装.Net Framework
- delphi判断.net FrameWork是否已安装
- nsis 检测vcredist_x86是否安装
- NSIS 卸载时判断程序是否运行
- NSIS安装过程中判断程序是否运行中,FindProcDLL和KillProcDLL
- 检测.net framework版本,判断是否安装了service pack
- 如何判断某版本的.NET Framework是否安装
- 如何判断某版本的.NET Framework是否安装
- NSIS打包,判断当前程序是否在运行
- 判断是否安装.net Framework环境,未安装则使用VMDotNet来启动主程序
- NSIS开始安装时检查**.exe是否正在运行
- NSIS安装完成后提示是否运行项目
- NSIS安装成功是否选择开机自动启动
- NSIS 卸载、安装检测程序是否在运行
- 怎样从ASP.NET程序判断客户端是否安装了.NET Framework
- 怎样用ASP.NET(C#)程序判断客户端是否安装了.NET Framework
- 谈办公室政治
- ASP 把数据库内容生成Word文档保存到目录下
- J2ME手机程序的自动下载与更新
- “杯具”论完整版
- bug之类定义导致的内存泄露
- NSIS判断FrameWork是否安装
- 知识:主板BIOS报警声的意义
- zk学习资源及参考资料
- 递归简单实例
- 使用limit查询的同时取得总的记录数:
- csdn 查找好友
- FcScript V1.0 使用说明
- C++的sizeof 初探
- 程序员的学历有多重要