inno setup 一些技巧
阿新 • • 發佈:2019-02-13
每次只允許執行一個安裝包程式
#define MyAppName "UltraISO"
[Setup]
AppMutex={#MyAppName}
[Messages]
SetupAppRunningError=安裝程式已經在執行。%n%n請按“取消”退出。
[Code]
procedure InitializeWizard();
begin
CreateMutex('{#MyAppName}');
end;
解除安裝時檢測程式是否在執行
點選退出安裝不提示function InitializeUninstall(): Boolean; var IsRunnin : UINT; begin Result :=true; //安裝程式繼續 IsRunnin:=FindWindowByWindowName('程式視窗標題名稱'); while IsRunnin > 0 do begin if Msgbox('安裝程式檢測到客戶端正在執行。' #13#13 '您必須先關閉它然後單擊“是”繼續安裝,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then begin Result :=false; //安裝程式退出 IsRunnin :=0; end else begin Result :=true; //安裝程式繼續 IsRunnin:=FindWindowByWindowName('程式視窗標題名稱'); end; end; end;
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm := False;
end;