我需要卸載才能在之後運行命令它將刪除已安裝的文件。 [UninstallRun]沒有用,因爲我知道它運行之前,文件被刪除。 我需要一個「postuninstall」標誌。卸載後執行命令
有關如何完成上述任何建議?
我需要卸載才能在之後運行命令它將刪除已安裝的文件。 [UninstallRun]沒有用,因爲我知道它運行之前,文件被刪除。 我需要一個「postuninstall」標誌。卸載後執行命令
有關如何完成上述任何建議?
請參閱文檔中的「Uninstall Event Functions」。當'CurUninstallStep'爲'usPostUninstall'時,您可以使用例如CurUninstallStepChanged
。
以同樣的方式有一個[Run]部分,Inno允許你定義一個[UninstallRun]部分來指定安裝程序包的哪些文件應該在unistall上執行。
例如:
[UninstallRun]
Filename: {app}\Scripts\DeleteWindowsService.bat; Flags: runhidden;
可替代地,通過@Sertac Akyuz,這使得使用的事件的功能,可用於tunning多一點unistalling動作提出的解決方案。以下是CurUninstallStepChanged函數在其他相關函數中的用法示例。
https://github.com/HeliumProject/InnoSetup/blob/master/Examples/UninstallCodeExample1.iss
; -- UninstallCodeExample1.iss --
;
; This script shows various things you can achieve using a [Code] section for Uninstall
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
OutputDir=userdocs:Inno Setup Examples Output
[Files]
Source: "MyProg.exe"; DestDir: "{app}"
Source: "MyProg.chm"; DestDir: "{app}"
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
[Code]
function InitializeUninstall(): Boolean;
begin
Result := MsgBox('InitializeUninstall:' #13#13 'Uninstall is initializing. Do you really want to start Uninstall?', mbConfirmation, MB_YESNO) = idYes;
if Result = False then
MsgBox('InitializeUninstall:' #13#13 'Ok, bye bye.', mbInformation, MB_OK);
end;
procedure DeinitializeUninstall();
begin
MsgBox('DeinitializeUninstall:' #13#13 'Bye bye!', mbInformation, MB_OK);
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
case CurUninstallStep of
usUninstall:
begin
MsgBox('CurUninstallStepChanged:' #13#13 'Uninstall is about to start.', mbInformation, MB_OK)
// ...insert code to perform pre-uninstall tasks here...
end;
usPostUninstall:
begin
MsgBox('CurUninstallStepChanged:' #13#13 'Uninstall just finished.', mbInformation, MB_OK);
// ...insert code to perform post-uninstall tasks here...
end;
end;
end;
由於安裝順序,OP已明確聲明'[UninstallRun]'不合適。 – Deanna
疑難雜症 - 非常感謝! – eyoopmeduck
@eyoopmeduck - 如果這解決了您的問題,您應該接受答案 - 使用答案旁邊的大勾號/複選標記。 – Vicky
糟糕 - 對不起 - 這是我的第一個問題。問候馬克。 – eyoopmeduck