.net
  • installation
  • bootstrapper
  • 2009-01-23 3 views 4 likes 
    4

    Lors de l'utilisation du bootstrapper générique avec MSBuild, comment l'ordre d'installation des éléments prérequis est-il déterminé?Bootstrapper Commande prérequise

    Par exemple, avec:

    <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 que A, B, C et D sont installées? Comment puis-je contrôler cette commande?

    Répondre

    6

    On dirait que je peux préciser dans le produit manifeste avec l'étiquette DependsOnProduct:

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

    Cela devrait entraîner B être installé avant A.

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

    +0

    Votre dernière déclaration est à l'envers. Le produit A dépend de B et B est donc installé en premier. Vous obtenez un +1 si vous le réparez. –

    +0

    Merci, l'a réparé. – fryguybob

    1

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

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

    package cChaque contient son propre fichier manifeste bootstrapper où les préalables sont définis. Vous ne devriez pas avoir à vous soucier de cela pour les paquets fournis à partir de Microsoft. Vous devriez vraiment vous en préoccuper si vous créez vos propres paquets pour vos pré-requis.

    Questions connexes