簡體   English   中英

如何在 Inno Setup 中卸載時執行批處理文件?

[英]How to execute a batch file on uninstall in Inno Setup?

我正在使用How do you execute command line tools without using batch file in Inno Setup response 中的代碼在安裝時(之前,之后)執行我的所有批處理文件。

不,我只想在用戶單擊“是”卸載程序時執行它們,但找不到方法。 它在確認之前執行

這是我來自[Code]部分的[Code]

function InitializeUninstall(): Boolean;
var
  ResultCode : Integer;    
begin
  Result := True;
  Exec(ExpandConstant('{app}\scripts\unset.bat'), '', '',
       SW_HIDE, ewWaitUntilTerminated, ResultCode); 
end; 

將您的代碼移動到CurUninstallStepChanged(usUninstall) 該事件在確認卸載觸發。

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  ResultCode : Integer;    
begin
  if CurUninstallStep = usUninstall then
  begin
    Exec(ExpandConstant('{app}\scripts\unset.bat'), '', '',
         SW_HIDE, ewWaitUntilTerminated, ResultCode); 
  end;
end;

雖然使用[UninstallRun]部分更容易。

[UninstallRun]
Filename: "{app}\scripts\unset.bat"; Flags: runhidden

該部分也在確認之后處理,但在卸載任何文件之前。 請參閱卸載順序


請注意,通常不應使用批處理文件。 你最好用 Pascal 代碼編寫所有內容。 這樣你就可以獲得更健壯的代碼和更好的錯誤處理。

請注意,具有諷刺意味的是,您指向的問題被要求避免在 Inno Setup 中使用批處理文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM