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?

È stato utile?

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 .

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

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top