If it is your application, make it create a mutex. Then you can use AppMutex
directive, which works even for uninstaller.
[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 InitializeUninstall
event function.
function InitializeUninstall(): Boolean;
var
Message: string;
begin
while IsAppRunning('MyProg.exe') do
begin
Message := 'The program is running, please close it';
if MsgBox(Message, mbError, MB_OKCANCEL) = IDCANCEL then
begin
Result := False
Exit;
end;
end;
Result := True;
end;

For a similar question on installer, see:
Is it possible to check if program is already running before trying to install it? (Inno Setup)