0

我已经为此花费了无数个小时,但我仍然不知道如何解决:

我尝试检测特定的现有用户文件,以便自动选择由 [types] 部分确定的安装选项。

我的程序必须安装不同的文件,无论程序 A、B 还是 C 安装在用户的文件系统上。目前我有一个包含所有可安装组件的 [Components] 列表和一个包含适当条目的 [Types] 列表。用户可以(必须)首先选择他安装的程序(A、B 或 C),然后选择他的版本。我正在寻找的是如何根据已安装的程序(A、B 或 C)自动显示特定可安装组件(版本)的解决方案。

Tl;博士:

程序 A 已安装 -> 自动显示 A 的可安装版本(如果安装了 B 或 C,则相同)

(希望我能说清楚,因为我不是以英语为母语的人)

4

1 回答 1

2
[Components]
Name: A; Description: Support for Program A; Check: HasProgramA
Name: B; Description: Support for Program B; Check: HasProgramB
Name: B\b1; Description: Version 1
Name: B\b2; Description: Version 2
Name: B\b3; Description: Version 3 Special Edition; Check: HasProgramBSpecial

[Code]
function HasProgramA(): Boolean;
begin
  Result := (some calculations that return True if program A is installed);
  // eg. use the RegQuery* functions to read registry values
end;

// repeat for the other Check functions

只有根据您提出的任何标准来确定组件的相应程序已安装,这才会显示组件。

于 2013-11-11T08:12:04.173 回答