3

私のインストーラー プロジェクト (WiX) では、プロパティ ページの [ビルド] タブで次のようにプリプロセッサ変数を定義します。

Version=1.1.0.0

議論のために、プリプロセッサ変数の代わりに変数として簡単に定義できるとしましょう。

したがって、私の目標は次のとおりです。インストーラーの出力名でこの変数を使用したいと思います。

Me.Common_$(Version)

もちろん、上記は機能しません。参照されている変数が見つからないため、実際の出力はMe.Common_.msi. このコンテキストでユーザー定義変数を使用する方法はありますか?


別の実行可能なオプションは、ビルド後のイベントで MSI ファイルの名前を変更することです。ただし、ここではまだ変数にアクセスできません。

ren "!(TargetPath)" "$(TargetName)_$(Version)$(TargetExt)"

これらの方法のいずれかに対する解決策は、私にとってはうまくいきます。

4

2 に答える 2

3

これらを.wixprojファイルの最初のPropertyGroupノードの下で検索/追加します。

<Version Condition=" '$(Version)' == ''">1.1.0.0</Version>
<OutputName>My.Common_$(Version)</OutputName>

次に、コンパイル時に「/ p」スイッチを使用してバージョンを渡すことができます。つまり、次のようになります。

msbuild <your.wifproj> /p:Version=1.1.2.0 /t:rebuild
于 2012-11-23T14:29:42.763 に答える
0

WIX を使用するだけではどうすればよいかわかりません。

MSBuild とTarget Buildsを使用してみます

パラメータを MSBuildに渡す方法については、SO に関する私の投稿をご覧ください。

于 2012-11-23T14:28:58.820 に答える