[Setup] AppName=My Program AppVerName=My Program version 1.5 DefaultDirName={pf}\My Program [Files] Source: ISTask.dll; DestDir: {app} [Languages] Name: "en"; MessagesFile: "compiler:Default.isl" Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" [CustomMessages] en.CloseApp=Program is running! Close program and continue? ru.CloseApp=Программа запущена! Закрыть программу и продолжить? [Code] function KillTaskA(ExeFileName: string): Integer; external 'KillTask@{app}\ISTask.dll stdcall delayload uninstallonly'; function RunTaskA(FileName: string; bFullpath: Boolean): Boolean; external 'RunTask@{app}\ISTask.dll stdcall delayload uninstallonly'; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usUninstall then begin UnloadDLL(ExpandConstant('{app}\ISTask.dll')); end; end; procedure InitializeUninstallProgressForm(); begin if RunTaskA('calc.exe', false) then if MsgBox(CustomMessage('CloseApp'), mbConfirmation, MB_YESNO) = IDYES then KillTaskA('calc.exe') else Abort; end; |