inno-setup-在安装时调用UninstallDelete的Check函数



我正在使用Inno Setup来制作(卸载(安装程序。我想在卸载后选择性地删除一些"剩余"文件,所以我使用带有Check功能的[UninstallDelete]部分。函数返回一些值,但也显示一些调试消息。类似这样的东西:

[UninstallDelete]
Type: filesandordirs; Name: "{app}Plugins"; Check: ShouldRemovePlugins
[Code]
//...
var
  DelPlugins: Boolean;
//...
function ShouldRemovePlugins(): Boolean;
var text:string;
begin
  if(DelPlugins = true) then
    text := 'We should remove plugins'
  else
    text := 'We should not remove plugins';
  MsgBox(text, mbInformation, MB_OK);
  Result := DelPlugins;
end;

问题是,根据弹出的消息框,函数是在安装时调用的,而不是在卸载时调用的。所以,问题是——为什么会这样?这是关于Inno Setup的"工作流"吗?

在安装过程中确定将在卸载时执行哪些卸载任务(包括但不限于UninstallDelete条目(。

因此,在安装过程中确实会调用Check函数。


查看如何处理UninstallDelete部分是安装的一个步骤:

一旦实际安装过程开始,这就是执行各种安装任务的顺序:

  • 对CCD_ 6进行处理
  • [UninstallDelete]中的条目存储在卸载日志中(在此阶段,该日志存储在内存中(
  • 如有必要,将创建应用程序目录

要在卸载过程中有条件地删除文件,您必须在CurUninstallStepChanged事件函数中对此进行显式编码。

使用usUninstallusPostUninstall步骤。

相关内容

  • 没有找到相关文章

最新更新