Pergunta

Ao usar o bootstrapper genérico com MSBuild como é a ordem de instalação dos itens pré-requisito determinado?

Por exemplo, dado:

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

O que é a ordem em que A, B, C e D são instalados? Como faço para controlar essa ordem?

Foi útil?

Solução

Parece que posso especificar no manifesto produto com a tag DependsOnProduct:

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

Isso deve resultar em B ser instalado antes A.

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

Outras dicas

Você parece já respondeu a sua própria pergunta. Como você aludir a em sua resposta, a ordem dos produtos em determinada pelos próprios pacakges. Seu MSI é sempre o último instalado.

Os pacotes podem ser encontrados em (para VS2008):
C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages

pacote Eeach contém o seu próprio arquivo de manifesto bootstrapper onde os pré-requisitos estão definidos. Você não deveria ter que se preocupar com isso para os pacotes fornecidos da Microsoft. Você realmente só deve se preocupar se você está criando seus próprios pacotes para os seus pré-requisitos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top