1

私は2つのプロジェクトで解決策を持っています:

  • 私のアプリケーション1.2.54(C#WinForms)
  • My Application Setup 1.0.0.0(WiXセットアップ)

ビルド後のイベントをWiXセットアッププロジェクトに追加して、バッチファイルを実行し、マイアプリケーションのアセンブリバージョン番号のコマンドラインパラメーターを渡したいと思います。コードは次のようになります。

CALL MyBatchFile.bat "$(fileVersion.ProductVersion($(var.My Application.TargetPath)))"

ただし、これにより次のエラーが発生します。

未処理の例外:式"""。MyApplication"は評価できません。メソッド'System.String.MyApplication'が見つかりません。C:\ My Application \ My Application Setup \ My Application Setup.wixproj

エラー:式"""。MyApplication"を評価できません。メソッド'System.String.MyApplication'が見つかりません。C:\ My Application \ My Application Setup \ My Application Setup.wixproj

なんとかして「1.2.54」をMyBatchFile.batに渡せるようにしたいと思います。

4

1 に答える 1

2

Wixプロジェクトファイル(*.wixproj)で、ターゲットをオーバーライドしAfterBuildてバッチファイルを呼び出します。

<Target Name="AfterBuild">
  <!-- Get "My Application" assembly version -->
  <GetAssemblyIdentity AssemblyFiles="../my_assembly_dir/MyAssembly.dll">
    <Output TaskParameter="Assemblies" ItemName="AssemblyIdentity"/>
  </GetAssemblyIdentity>

  <Exec Command="MyBatchFile.bat %(AssemblyIdentity.Version)"/>
</Target>
于 2010-06-11T06:29:46.360 に答える