ブートストラップの前提条件
-
19-08-2019 - |
質問
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
がインストールされます。
他のヒント
すでに自分の質問に答えているようです。あなたが答えでほのめかしているように、製品の順序はパッケージ自体によって決定されます。 msiは常に最後にインストールされます。
パッケージは(VS2008の場合)にあります:
C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages
各パッケージには、前提条件が設定されている独自のブートストラップマニフェストファイルが含まれています。マイクロソフトから提供されるパッケージについては、これについて心配する必要はありません。前提条件に合わせて独自のパッケージを作成する場合にのみ、実際に注意する必要があります。
所属していません StackOverflow