Register Explorer COM extension only if specific task was selected

Register Explorer COM extension only if specific task was selected

我有一个处理文档的复杂程序。客户端要求:安装时有条件集成在Windows资源管理器上下文菜单中,即用户勾选相应选项。

因此,在我的 Inno Setup 脚本 [Tasks] 中,我创建了一个名为 IntegrateToExporer 的单独任务。
[Files] 部分 - 两个带有 regserver 标志的 COM DLL 文件(x86/x86-64 版本)。

我的问题是:如何使 regserver 标志成为条件?
它必须仅在用户 select IntegrateToExplorer 任务时应用,否则文件应该被复制和其他人一样。

[Files] 中创建两个条目:

  • 一个 with regserver 标志在选择 IntegrateToExporer 任务时处理
  • 一个 没有IntegrateToExporer 任务 选择[=28= 时要处理的 regserver 标志]
[Files]
Source: "my.dll"; DestDir: "{app}"; Flags: regserver; Tasks: IntegrateToExporer
Source: "my.dll"; DestDir: "{app}"; Tasks: not IntegrateToExporer

请参阅 Inno Setup 文档中的 Components and Tasks Parameters