2009-01-23 76 views
4

在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得到安裝順序?我如何控制該訂單?

回答

6

它看起來像我可以在產品清單與DependsOnProduct標籤註明:

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

這將導致BA前正在安裝。

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

+0

你最近的陳述倒退了。產品A取決於B,所以B先安裝。如果你修復它,你會得到+1。 – 2009-06-29 15:47:15

1

您似乎已經回答了您自己的問題。正如你在你的回答中暗示的那樣,產品的訂單由pacakges自己決定。您的msi始終安裝最後。

該軟件包可以在(用於VS2008)中找到:
C:\ Program Files文件\微軟的SDK \的Windows \ v6.0A \引導程序\軟件包

Eeach包中包含它自己的引導程序清單文件,其中的先決條件被設置。您不必擔心微軟提供的軟件包。你真的應該只關心你是否爲你的先決條件創建了自己的軟件包。

相關問題