NSIS开始安装时检查**.exe是否正在运行
来源:互联网 发布:福州理工学院知乎 编辑:程序博客网 时间:2024/05/14 04:37
如果我们要安装或升级的程序正在运行,文件肯定会替换失败,以下代码可以提示用户结束正在运行的程序。
需要使用插件FindProcDLL.dll,下载路径:http://nsis.sourceforge.net/FindProcDLL_plug-in
开始安装时检查flighty.exe是否正在运行:
01
Function .onInit
02
;关闭进程
03
Push $R0
04
CheckProc:
05
Push
"flighty.exe"
06
ProcessWork::existsprocess
07
Pop $R0
08
IntCmp $R0 0 Done
09
MessageBox MB_OKCANCEL|MB_ICONSTOP
"安装程序检测到 ${PRODUCT_NAME} 正在运行。$\r$\n$\r$\n点击 “确定” 强制关闭${PRODUCT_NAME},继续安装。$\r$\n点击 “取消” 退出安装程序。"
IDCANCEL Exit
10
Push
"flighty.exe"
11
Processwork::KillProcess
12
Sleep 1000
13
Goto CheckProc
14
Exit:
15
Abort
16
Done:
17
Pop $R0
18
FunctionEnd
开始卸载时检查flighty.exe是否正在运行:
01
Function un.onInit
02
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2
"您确实要完全移除 $(^Name) ,及其所有的组件?"
IDYES +2
03
Abort
04
;检测程序是否运行
05
FindProcDLL::FindProc
"flighty.exe"
06
Pop $R0
07
IntCmp $R0 1 0 no_run
08
MessageBox MB_ICONSTOP
"卸载程序检测到 ${PRODUCT_NAME} 正在运行,请关闭之后再卸载!"
09
Quit
10
no_run:
11
FunctionEnd
顺便提一句:如果你的程序被360误杀过,可以用这个提示用户关闭360才可以进行安装。
0 0
- NSIS开始安装时检查**.exe是否正在运行
- NSIS——安装、卸载时检查程序是否正在运行
- NSIS打包学习(1) : 安装卸载时检查程序是否正在运行
- linux检查进程是否正在正常运行
- android 检查某个服务是否正在运行
- NSIS 卸载时判断程序是否运行
- Inno Setup安装、卸载时判断是否程序正在运行
- Inno Setup安装、卸载时判断是否程序正在运行
- Inno Setup安装、卸载时判断是否程序正在运行
- Inno Setup安装、卸载时判断是否程序正在运行
- 检查apache服务器是否正在运行的脚本
- 检查Android进程当前是否正在后台运行
- 判断Exe文件是否正在运行的函数
- NSIS安装完成后提示是否运行项目
- NSIS 卸载、安装检测程序是否在运行
- 模块""可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86或x64版
- 模块""可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86或x64版
- 模块"XX"可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86或x64版
- 互联网产品的哪些技术和设计可以申请专利?
- [Hb] 读《汇编语言》I
- QQ去除未读状态的动画
- UVA - 1456(cellular network 概率dp)
- 仿360工具栏
- NSIS开始安装时检查**.exe是否正在运行
- shader实现灰阶图
- mybatis spring 配置文件问题
- 第17周项目 1 数组排序 指针
- Java学习笔记——应用矢量和迭代器来实现类似链表的功能
- 嘿嘿,今天要吃汤圆吃咯
- 第十七周 项目6.5 读取文件中数据并处理
- 第十七周项目4——1 该年第几天
- vb.net中将图片存入SQL Server 2000并能读出来使用