質問

MSBuildで汎用ブートストラップを使用する場合、前提条件アイテムのインストール順序はどのように決定されますか?

たとえば、次の場合:

<Project ToolsVersion="3.5" xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>
  <ItemGroup>
    <BootstrapperFile Include='A' />
    <BootstrapperFile Include='B' />
    <BootstrapperFile Include='C' />
    <BootstrapperFile Include='D' />
  </ItemGroup>

  <Target Name='MySetup'>
    <GenerateBootstrapper
      Path='C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper'
      ApplicationName='My Program'
      ApplicationFile='MyProgram.msi'
      BootstrapperItems='@(BootstrapperFile)'
      Culture='en'
      CopyComponents='true'
      ComponentsLocation='HomeSite'
      OutputPath='.\' />
  </Target>
</Project>

A、B、C、およびDがインストールされる順序は何ですか?その順序を制御するにはどうすればよいですか

役に立ちましたか?

解決

DependsOnProductタグを使用して製品マニフェストで指定できるようです:

<Product ProductCode="A">
  <PackageFiles>...</PackageFiles>
  <RelatedProducts>
    <DependsOnProduct Code="B" />
  </RelatedProducts>
  ...
</Product>

これにより、Bの前にAがインストールされます。

http://msdn.microsoft.com/en-us/library /ms229456.aspx

他のヒント

すでに自分の質問に答えているようです。あなたが答えでほのめかしているように、製品の順序はパッケージ自体によって決定されます。 msiは常に最後にインストールされます。

パッケージは(VS2008の場合)にあります:
C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages

各パッケージには、前提条件が設定されている独自のブートストラップマニフェストファイルが含まれています。マイクロソフトから提供されるパッケージについては、これについて心配する必要はありません。前提条件に合わせて独自のパッケージを作成する場合にのみ、実際に注意する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top