[英]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.