Inno setup InnoSetup卸载询问消息-Pascal编码

Inno setup InnoSetup卸载询问消息-Pascal编码,inno-setup,Inno Setup,我已经为我的一些游戏创建了安装程序,我希望卸载程序询问我是否要保存游戏文件。 类似这样的情况:当我执行uninstall.exe询问我“是否保留所有已保存的游戏?”是或否。如果单击“是”,我的保存文件将保留,程序文件将被卸载;如果单击“否”,我的程序文件将被卸载。 InnoSetup执行此操作的PASCAL代码是什么 多谢各位 您可以执行以下操作: ; -- UninstallCodeExample1.iss -- ; ; This script shows various things yo

我已经为我的一些游戏创建了安装程序,我希望卸载程序询问我是否要保存游戏文件。 类似这样的情况:当我执行uninstall.exe询问我“是否保留所有已保存的游戏?”是或否。如果单击“是”,我的保存文件将保留,程序文件将被卸载;如果单击“否”,我的程序文件将被卸载。 InnoSetup执行此操作的PASCAL代码是什么


多谢各位

您可以执行以下操作:


; -- UninstallCodeExample1.iss --
;
; This script shows various things you can achieve using a [Code] section for Uninstall
[Setup]
AppName=My Program
AppVerName=My Program version 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 CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
mRes : integer;
begin
  case CurUninstallStep of
    usUninstall:
      begin
        mRes := MsgBox('Do you want to remove all files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2)
        if mRes = IDYES then
          begin
             MsgBox ('Really remove the files', mbInformation, MB_OK)
             DeleteFile('path\filename.ext');
          End
        else
          MsgBox ('Don''t remove the game files', mbInformation, MB_OK);        
        // ...insert code to perform pre-uninstall tasks here...
      end;
  end;
end;
您可能希望使用最新版本的InnoSetup,因为这正是我测试的内容。上面的示例基于InnoSetup编译器附带的UninstallCodeExample.iss


我添加了一行代码来演示如何删除文件。它调用DeleteFile函数。您需要为卸载时要删除的每个文件添加一个DeleteFile,该文件不在[Files]部分。

可能与您的问题有关,如果您只想将卸载消息从“是否确实要完全删除%1及其所有组件?”更改为其他内容,您可以通过修改其消息来完成此操作,像

[Messages]
ConfirmUninstall=Are you really really sure you want to remove %1?

参考:

谢谢!我正要创建一个自定义页面。