0

私は VisualStudio 2012 ソリューションを持っています。これは多数の C++ プロジェクトで構成されており、それぞれがデバッグ/リリース構成とx64 / Win32プラットフォームを備えています。したがって、最終的に 4 つの実行可能ファイルが作成されます。

  • Debug-Win32.exe
  • デバッグ-x64.exe
  • リリース Win32.exe
  • リリース-x64.exe

それらのうち、WiX プロジェクトを使用して *リリース構成出力からインストーラーを作成します。

  • リリース-Win32.exe -> インストーラ-Win32.msi
  • Release-x64-exe -> Installer-x64.msi

次に、WiX 書き込みブートストラップ プロジェクトを作成して、それらを 1 つのブートストラップ実行可能ファイルにチェーンします。ブートストラップは、プラットフォームで実行する正しい MSI を選択します。

私の問題は、ブートストラップ プロジェクトが、インストーラー プロジェクトのWin32x64の両方のターゲット プラットフォームに依存していることです。

現時点では、ブートストラップをビルドする前に、これらのプラットフォーム構成のビルドを手動でトリガーする必要があります。2 つのターゲット プラットフォーム構成にビルドの依存関係を作成する (msbuild スクリプトを手動で編集する) 方法はありますか?

4

1 に答える 1

1

MSBUILD ファイル (TFSBuild.proj) で、両方のフレーバーをビルドに追加すると、問題が解決します。

<ConfigurationToBuild Include="Release|Win32">
  <FlavorToBuild>Release</FlavorToBuild>
  <PlatformToBuild>Win32</PlatformToBuild>
</ConfigurationToBuild>
<ConfigurationToBuild Include="Release|x64">
  <FlavorToBuild>Release</FlavorToBuild>
  <PlatformToBuild>x64</PlatformToBuild>
</ConfigurationToBuild>

これにより、アプリケーションが両方のフレーバーでビルドされ、出力 (MSI または exe) が適切なフォルダーに存在するようになります。書き込みパッケージは、フォルダーから取得できます。

于 2012-11-19T16:50:38.270 に答える