1

これはおそらく簡単な修正ですが、頭を包み込むことができないようです。インストールするアプリがあります。ユーザーは、インストールに伴う3つの可能なINIファイルから1つを選択する必要があります。それぞれ異なるINIを使用して3つの異なるセットアップを簡単に行うことができましたが、問題を単純化し、インストール時にユーザーにINIの選択肢を提供したいと思います。INIファイルの名前は同じであるため、パッケージ化するときに異なる名前を付ける必要があります。ユーザーがインストールするINIを選択すると、アプリディレクトリに抽出され、名前が変更されます。これを行う方法はありますか?

ご協力いただきありがとうございます!

4

2 に答える 2

1

3 つの INI ファイルすべてのエントリを[Files]セクションに追加し、それらに同じ宛先名を付けて、Checkパラメータを使用して実行時にどれをインストールするかを決定できます。私のインストール スクリプトの 1 つからのスニペット:

[Files]
Source: "{src}\Line1.ini"; DestDir: "{app}"; DestName: "Line.ini"; \
    Flags: external; Check: IsLine1
Source: "{src}\Line2.ini"; DestDir: "{app}"; DestName: "Line.ini"; \
    Flags: external; Check: IsLine2
Source: "{src}\Line3.ini"; DestDir: "{app}"; DestName: "Line.ini"; \
    Flags: external; Check: IsLine3

[コード]セクションのサポート関数:

function IsLine(ID: integer): boolean;
begin
  Result := (ID = 1 + LinePage.SelectedValueIndex);
end;

function IsLine1(): boolean;
begin
  Result := IsLine(1);
end;

function IsLine2(): boolean;
begin
  Result := IsLine(2);
end;

function IsLine3(): boolean;
begin
  Result := IsLine(3);
end;

LinePageタイプ のカスタム ページですTInputOptionWizardPage。ユーザーは、プログラムをインストールする生産ラインをラジオ グループで選択し、一致する INI ファイルのみがコピーされます。それらはexternal私の場合ですが、セットアップにコンパイルすることもできます。

于 2010-02-05T11:37:50.793 に答える
0

可能な方法は、[Run] セクションを作成 (または追加) し、余分な ini ファイルを削除して残りのファイルの名前を変更する Pascal ルーチンを実行 (AfterInstall: パラメータ) することです。

于 2010-02-01T17:46:02.363 に答える