0

私はこれに数え切れないほどの時間を費やしましたが、まだ解決方法がわかりません:

[types] セクションで決定されたインストール オプションを自動的に選択するために、特定の既存のユーザー ファイルを検出しようとしました。

ユーザーのファイル システムにプログラム A、B、または C がインストールされているかどうかにかかわらず、私のプログラムは異なるファイルをインストールする必要があります。現時点では、インストール可能なすべてのコンポーネントを含む [Components] リストと、適切なエントリを含む [Types] リストを取得しています。ユーザーは、インストールしたプログラム (A、B、または C) を最初に選択し、次にバージョンを選択できます (選択する必要があります)。私が探しているのは、既にインストールされているプログラム (A、B、または C) に応じて、特定のインストール可能なコンポーネント (バージョン) を自動的に表示する方法のソリューションです。

概要:

プログラム 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 に答える