[Code]

//安装前判断是否有进程正在运行,istask.dll文件与打包的exe文件一起
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload'; function InitializeSetup(): Boolean;
begin
Result:= true;
if RunTask('{#MyAppExeName}', false) then
begin
if MsgBox('安装程序检测到 {#MyAppName} 正在运行!'#''#'单击“是”按钮关闭程序并继续安装;'#''#'单击“否”按钮退出安装!', mbConfirmation, MB_YESNO) = IDYES then
begin
KillTask('{#MyAppExeName}');
Result:= true;
end
else
Result:= false;
end
else Result:= true;
end; // 卸载前判断进程是否在运行
function RunTaskU(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@{app}/ISTask.dll stdcall delayload uninstallonly';
function KillTaskU(ExeFileName: string): Integer;
external 'KillTask@{app}/ISTask.dll stdcall delayload uninstallonly'; function InitializeUninstall(): Boolean;
begin
Result:= true;
if RunTaskU('{#MyAppExeName}', false) then
begin
if MsgBox('卸载程序检测到 {#MyAppName} 正在运行!'#''#'单击“是”按钮关闭程序并继续卸载;'#''#'单击“否”按钮退出卸载!', mbConfirmation, MB_YESNO) = IDYES then
begin
KillTaskU('{#MyAppExeName}');
Result:= true;
end
else
Result:= false;
end
else
Result:= true;
UnloadDll(ExpandConstant('{app}/ISTask.dll')); end;

转:https://blog.csdn.net/dsp_daiyujie/article/details/11945871

innosetup 安装前、卸载前判断是否有进程正在运行<转>的更多相关文章

  1. Inno Setup 系列之安装、卸载前检测进程运行情况并关闭相应进程

    需求 最近用 Inno Setup 做一个exe,可是在安装之前要停止正在运行的相应进程或者在卸载之前要停止正在运行的相应进程,可是发现它自身的方法不能满足要求,最后经过度娘的耐心帮助下终于在网上找到 ...

  2. Inno Setup 安装、卸载前检测进程或服务

    [转载]Inno Setup 安装.卸载前检测进程或服务 (2015-04-24 17:37:20) 转载▼ 标签: 转载   原文地址:Inno Setup 安装.卸载前检测进程或服务作者:一去丶二 ...

  3. Inno Setup安装、卸载时判断是否程序正在运行

    var ErrorCode: Integer; IsRunning: Integer; // 安装时判断客户端是否正在运行 function InitializeSetup(): Boolean; b ...

  4. 如何运用inno在安装和卸载时提示用户结束进程?

    我尝试着写了一段,但是卸载段存在问题,请指点! CODE [Files]Source: ISTask.dll; DestDir: {app}; Flags: ignoreversion [Code]f ...

  5. Inno Setup 在安装程序开始前和卸载程序开始前,检查并关闭运行的进程

    (2011-12-29 11:54:56) 转载▼ 标签: innosetup it 分类: 开发工具经验累积 Inno Setup在安装程序前,如果有使用的进程在运行,会有错误提示,而使得Insta ...

  6. INNO setup安装卸载钱判断进程中是否在运行总结

    1.安装前判断进程中是否有程序在运行. [files] ; 安装前判断进程,dll文件放在inno的安装目录中Source: compiler:psvince.dll; Flags: dontcopy ...

  7. Inno Setup 安装前卸载原程序

    Inno Setup 安装前卸载原程序 分类: Install Setup 2013-02-02 15:53 2315人阅读 评论(0) 收藏 举报 很多時候我們需要在安裝文件之前卸載原有的程序而不是 ...

  8. Advanced Installer 安装前卸载旧版本的办法

    原文:Advanced Installer 安装前卸载旧版本的办法 Advanced Installer这个工具百度出来的资料太少了. 在我们平常打包的工作中,经常遇到的一个问题是,如何能在安装新版本 ...

  9. Windows2008R2安装Exchange 2010前必须要做的准备工作

    由于WindowsServer2008R2已经包含了KB979099.KB982867.KB979744.KB983440.KB977020这些补丁的内容,所以无须另外下载安装. 详见https:// ...

随机推荐

  1. Hive之一:hive2.1.1安装部署

    一.Hive 运行模式 与 Hadoop 类似,Hive 也有 3 种运行模式: 1. 内嵌模式 将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式.但是这种方式缺点也比 ...

  2. 数据库SQL语言学习--上级练习1(数据查询)

    上机练习1 1.              启动SQL Server 2008中的 SQL Server Management Studio. 2.              创建数据库Student ...

  3. 纯MATLAB版本 SIFT代码

    先贴几个链接: http://blog.csdn.net/abcjennifer/article/details/7639681  Rachel-Zhang的 http://blog.csdn.net ...

  4. 让可等待的计时器添加APC调用

    // TimerAPCRoutine.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> ...

  5. 关于在Intellij IDEA工具中配置热加载问题

    第一步,创建一个maven项目,然后在pom.xml文件中添加依赖(上图内容). 第二步:来到intellij idea主页面,点击File->Settings->Build->co ...

  6. 在django中,执行原始sql语句

    extra()方法 结果集修改器,一种提供额外查询参数的机制 使用extra: 1:Book.objects.filter(publisher__name='广东人员出版社').extra(where ...

  7. Css实战第二天小结

    清除浮动的四种方式: 1.1    给父盒子设置一个高度: 1.2    Clear:both; 1.3    Overflow:hidden; 1.4    使用伪元素 .clearfix:befo ...

  8. 《Linux性能及调优指南》1.3 Linux文件系统

    翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...

  9. C# 运用反射把实体类反射成你所想要的格式

    下面是要转换成的Xml格式 <?xml version="1.0" encoding="UTF-8" ?> <NDEML templateVe ...

  10. HDU1847 Good Luck in CET-4 Everybody 博弈 SG函数

    题意:给定n张牌,两个人轮流摸牌,每次摸牌张数为2的幂次,问先手胜还是后手胜  n≤1000 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1847 # ...