Question

Lors de l'utilisation du programme d'amorçage générique avec MSBuild, comment l'ordre d'installation des éléments prérequis est-il déterminé?

Par exemple, étant donné:

<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>

Quel est l'ordre dans lequel A, B, C et D sont installés? Comment contrôler cet ordre?

Était-ce utile?

La solution

Il semble que je puisse spécifier dans le manifeste du produit avec la balise DependsOnProduct :

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

Ceci devrait résulter en l'installation de B avant A .

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

Autres conseils

Vous semblez avoir déjà répondu à votre propre question. Comme vous le dites dans votre réponse, l'ordre des produits est déterminé par les emballages eux-mêmes. Votre msi est toujours installé en dernier.

Les packages peuvent être trouvés dans (pour VS2008):
C: \ Program Files \ SDK Microsoft \ Windows \ v6.0A \ Bootstrapper \ Packages

Le package Eeach contient son propre fichier manifeste d'amorçage dans lequel les conditions préalables sont définies. Vous ne devriez pas avoir à vous soucier de cela pour les paquets fournis par Microsoft. Vous ne devriez vraiment vous soucier que de créer vos propres packages pour vos pré-requis.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top