InnoSetup

Inno setup “另一个程序正在使用此文件,进程无法访问”

浪尽此生 提交于 2020-03-17 10:58:47
某厂面试归来,发现自己落伍了!>>> ;坑爹的杀毒软件 ;如果你也在使用Inno setup 打包程序,如果你也跟我一样遇到了同样的问题 ;“另一个程序正在使用此文件,进程无法访问”,不要犹豫,关掉你的杀毒软件,再试一次。 innosetup 5.5.4 关掉百度杀毒,腾讯电脑管家后OK。 来源: oschina 链接: https://my.oschina.net/u/1402175/blog/198633

InnoSetup安装之前关闭进程

梦想与她 提交于 2020-03-17 10:42:38
某厂面试归来,发现自己落伍了!>>> InnoSetup覆盖安装的时候可能会因为源程序正在运行而安装失败,以下脚本能够关闭原运行进程。 [code] // 安装前检查关闭**进程 function InitializeSetup():Boolean; //进程ID var appWnd: HWND; begin Result := true; //Log('Checking If Running...'); //根据窗体名字获取进程ID appWnd := FindWindowByWindowName('IE Scavenger'); if (appWnd <> 0) then //进程存在,关闭 begin //Log('Is Runing...'); //给进程发送关闭消息 PostMessage(appWnd, 18, 0, 0); // quit end else //进程不存在 begin //Log('Not Runing...'); end; end; InitializeSetup 函数在安装程序初始化时调用,返回 False 中断安装,返回 True 反之。 FindWindowByWindowName 获取窗口名与指定字串匹配的顶层窗口的句柄。这个函数不搜索子窗口 ,且不执行区分大小写搜索。如果没有找到窗口则返回 0。 运行流程就是根据窗口名获取正在运行的程序