I'm using Inno Setup to create the installer. When I launch the installer I've created I need to check whether the program I'm trying to install is already running or not and if it is running then I have to show the corresponding message until I close it or exit. Is it possible to do that?
Asked
Active
Viewed 2,134 times
1 Answers
7
If it is your application, make it create a mutex. Then you can use AppMutex
directive.
[Setup]
AppMutex=MyProgMutex
If you cannot modify the application, you need to code the check for running application in Inno Setup. You can for example use IsAppRunning
function from the answer by @RRUZ to How to check with Inno Setup, if a process is running at a Windows 2008 R2 64bit? in InitializeSetup
event function.
function InitializeSetup(): Boolean;
var
Answer: Integer;
begin
Result := True;
while IsAppRunning('MyProg.exe') do
begin
Answer := MsgBox('Program is running, please close it', mbError, MB_OKCANCEL);
if Answer = IDCANCEL then
begin
Result := False
Exit;
end;
end;
end;
Based on a similar question on uninstaller:
Preparing to Uninstall like Preparing to Install Page - Inno Setup

Martin Prikryl
- 188,800
- 56
- 490
- 992