Pregunta

Cuando se utiliza el programa de arranque genérico con MSBuild, ¿cómo se determina el orden de instalación de los elementos de requisitos previos?

Por ejemplo, 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>

¿Cuál es el orden en que se instalan A, B, C y D? ¿Cómo controlo ese pedido?

¿Fue útil?

Solución

Parece que puedo especificar en el manifiesto del producto con la etiqueta DependsOnProduct :

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

Esto debería resultar en la instalación de B antes de A .

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

Otros consejos

Parece que ya has respondido tu propia pregunta. Como alude en su respuesta, el orden de los productos está determinado por los propios paquetes. Su msi siempre se instala al final.

Los paquetes se pueden encontrar en (para VS2008):
C: \ Archivos de programa \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages

Cada paquete contiene su propio archivo de manifiesto de arranque donde se establecen los requisitos previos. No debería tener que preocuparse por esto para los paquetes proporcionados por Microsoft. Realmente solo debería importarle si está creando sus propios paquetes para sus requisitos previos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top