在 Inno Setup 中替换或自定义模态卸载 windows

Replace or customize modal uninstallation windows in Inno Setup

是否可以用自定义模式 windows 或 Inno Setup 中的页面替换下一个卸载模式 windows:

除了静默(或非常静默)卸载之外,这两条消息始终显示。

你能做什么:

  • 更改消息文本:

    [Messages]
    ConfirmUninstall=Are you sure you want to completely remove %1 and all of its components?
    UninstalledAll=%1 was successfully removed from your computer.
    UninstalledMost=%1 uninstall complete.%n%nSome elements could not be removed. These can be removed manually.
    UninstalledAndNeedsRestart=To complete the uninstallation of %1, your computer must be restarted.%n%nWould you like to restart now?
    
  • 通过添加 /SILENT command-line switch to the UninstallString registry key. See also Can I disable uninstall confirmation message?

    让卸载程序 运行 始终静默地删除消息

    尽管这有点乱七八糟,但最好只有在有充分理由的情况下才这样做。

    并可选择通过实施 InitializeUninstall and CurUninstallStepChanged(usDone) 来实施您的自定义 messages/dialogs,例如:

    procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
    var
      DoneForm: TSetupForm;
    begin
      if CurUninstallStep = usDone then
      begin
        DoneForm := CreateCustomForm;
        { populate the form here... }
        DoneForm.ShowModal;
      end;
    end;
    
  • 卸载完成后消除该消息的另一种方法是处理 usPostUninstall 事件并在那里显示您的自定义对话框。然后强行中止安装程序。但是Windows的自动重启,以防需要它来完成卸载,将不起作用。

  • 您还可以实现一些 DLL 来监视新消息框并 updates/submits 它们出现时。

如果您想在卸载程序中创建自定义页面,则否。

卸载程序不支持创建自定义页面。