以前のバージョンのアプリケーションがインストールされているかどうかを確認する NSIS スクリプトを作成しています。その場合、構成ファイルをこの以前のバージョンからインポートする必要があるかどうかを尋ねられます。したがって、ユーザーが「はい」または「いいえ」を選択したかどうかに応じて、実行時に設定しようとしているグローバル変数構成ファイルがあります。私が抱えている問題は、コンパイル時にファイル: "${XMLConfigDir}*.xml" -> ファイルが見つかりません。XMLConfigDir がまだ設定されていないためです。とにかく、実行時に変数を設定する方法はありますか?
質問する
8392 次
2 に答える
10
変数の宣言 ( Varコマンド) とシンボル ( !defineコマンドで定義)には違いがあります。
Var /GLOBAL myVar ; This is variable -> use it as $myVar
!define mySymbol; This is symbol -> use it as ${mySymbol}
これを試して:
!define XMLConfigDir "C:\some_path_to_XML\subdir\"
Section "Main Section"
File "${XMLConfigDir}*.xml"
SectionEnd
シンボルは、インストーラーの実行時に/Dコマンド ライン スイッチを使用して設定することもできます。
于 2012-08-15T16:51:59.873 に答える
2
私の問題の解決策は、SetOutPath の後に File が続くのではなく、CopyFiles 組み込み関数を使用することでした。
于 2012-08-17T12:25:33.493 に答える