web-dev-qa-db-ja.com

Inno Setup:すべてのサブフォルダーを含むフォルダーをパックします

.issファイルに次の行があります。

Source: "..\Tcl\*"; DestDir: "{app}\Tcl"; Flags: ignoreversion

フォルダーTclをパックします。ただし、フォルダー内のファイルのみを使用し、Tcl内のサブフォルダーは使用しません。すべてのサブフォルダーとファイルを含むフォルダー全体Tclを取得する方法はありますか? (すべてのサブフォルダーを行ごとにリストせずに)。

Inno Setup 5.4.2。

39
Prog1020

はいあります。 recursesubdirs フラグを[Files]セクションエントリに含めるだけです。ヘルプでは、このフラグについて次のように説明しています。

ソースディレクトリの下のサブディレクトリでソースファイル名/ワイルドカードも検索するように、コンパイラまたはセットアップに指示します。

そのため、[Files]セクションエントリを次のように変更するだけです。

[Files]
Source: "..\Tcl\*"; DestDir: "{app}\Tcl"; Flags: ignoreversion recursesubdirs
76
TLama

Inno Wizardを使用することもできますが、これらのファイルをインポート元のフォルダーに残したい場合は、スクリプトを後で修正する必要があります。Wizardはアプリのデフォルトフォルダー内。

ウィザードは以下を生成します。

 [Files]
 Source: "..\Tcl\*"; DestDir: "{app}; Flags: ignoreversion recursesubdirs

フォルダー構造を維持する必要がある場合は、次が必要です。

 [Files]
 Source: "..\Tcl\*"; DestDir: "{app}\Tcl"; Flags: ignoreversion recursesubdirs

Inno Wizard 5.6.1(2018年8月14日)時点で更新)
Inno Setup Script Wizardにはサブフォルダーを指定するオプションがあります。ウィザードのApplication Filesステップで、 Add Folder ...ボタンをクリックし、追加するフォルダーを選択した後、リストで選択されていることを確認してからをクリックします編集...およびDestination Subfolderテキストボックスの下で、以前に選択したフォルダーの内容をどこに移動するかを指定します。

8
Szpaqn