Bootstrapper Ordine dei prerequisiti
-
19-08-2019 - |
Domanda
Quando si utilizza il bootstrapper generico con MSBuild come viene determinato l'ordine di installazione degli elementi prerequisiti?
Ad esempio, dato:
<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>
Qual è l'ordine in cui vengono installati A, B, C e D? Come posso controllare quell'ordine?
Soluzione
Sembra che posso specificare nel manifest del prodotto con il tag DependsOnProduct
:
<Product ProductCode="A">
<PackageFiles>...</PackageFiles>
<RelatedProducts>
<DependsOnProduct Code="B" />
</RelatedProducts>
...
</Product>
Ciò dovrebbe comportare l'installazione di B
prima di A
.
Altri suggerimenti
Sembra che tu abbia già risposto alla tua domanda. Come alludi nella tua risposta, l'ordine dei prodotti è determinato dai pacakge stessi. Il tuo msi è sempre installato per ultimo.
I pacchetti sono disponibili in (per VS2008):
C: \ Programmi \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages
Ogni pacchetto contiene il proprio file manifest bootstrapper in cui sono impostati i prerequisiti. Non dovresti preoccuparti di questo per i pacchetti forniti da Microsoft. Dovresti davvero preoccuparti solo se stai creando i tuoi pacchetti per i tuoi pre-requisiti.