我正在使用Inno Setup创建安装程序。启动创建的安装程序时,我需要检查要安装的程序是否已在运行,如果正在运行,则必须显示相应的消息,直到关闭或退出。 可以这样做吗?
答案 0 :(得分:2)
如果它是您的应用程序,请使其创建一个互斥体。然后,您可以使用AppMutex
directive。
[Setup]
AppMutex=MyProgMutex
如果无法修改应用程序,则需要在Inno Setup中编写对正在运行的应用程序的检查的代码。例如,您可以使用IsAppRunning
函数,从@RRUZ到How to check with Inno Setup, if a process is running at a Windows 2008 R2 64bit?中的InitializeSetup
event function。
function InitializeSetup(): Boolean;
begin
Result := True;
while IsAppRunning('MyProg.exe') do
begin
if MsgBox('Program is running, please close it', mbError, MB_OKCANCEL) = IDCANCEL then
begin
Result := False
Exit;
end;
end;
end;
基于有关卸载程序的类似问题:
Preparing to Uninstall like Preparing to Install Page - Inno Setup