2011-11-30 2 views
5

私は外部からバージョン番号を渡してセットアップファイルを一般化しようとしています。コマンドラインパラメータに基づいてNSISスクリプトを条件付きでコンパイルするにはどうすればよいですか?

makensis myscript.nsi parameter=value 

、その後、私は違ったバージョン管理実行可能ファイルを生成することができ、同じスクリプトを使用するように、スクリプト内のパラメータを読んで:私はこれを行うことができるようにしたいです。私はthis & thisを見つけましたが、生成されたsetup.exeにコマンドラインパラメータを渡すためのものです。これは可能なのでしょうか?

+0

この回答を確認してくださいhttp://stackoverflow.com/a/2790515/150166 –

+1

リンクされている答えはあなたが望むことをします。私は質問のタイトルと目標があなたと非常に異なるので、この質問を閉じるために投票するつもりはありません。 –

+0

@DavidHall:どう違うの?インストーラ名は、コンパイル時にのみ設定できる属性です。目標はほぼ同じです... – Anders

答えて

6

あなたは/ Dスイッチを使用してcommand lineからグローバルに定義されたリストにシンボルを追加することができます。

makensis /DMyVersion="1.0.1" install.nsi 

次に、あなたは$ {}構文を使用してそれらを使用することができます。

!ifdef MyVersion 
    StrCpy $Version "${MyInstallerName}" 
!else 
    StrCpy $Version "1.0.0" 
!endif 

もの可能な興味は、このSOの質問で議論されているGetVersionプラグインです:NSIS - put EXE version into name of installer

関連する問題