Вопрос

При использовании стандартного загрузчика с 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? Как я могу контролировать этот порядок?

Это было полезно?

Решение

Похоже, я могу указать в манифесте продукта с тегом DependsOnProduct:

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

Это должно привести к установке B до A.

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

Другие советы

Вы, кажется, уже ответили на свой вопрос. Как вы намекаете в своем ответе, порядок продуктов определяется самими пакетами. Ваш msi всегда устанавливается последним.

Пакеты можно найти в (для VS2008):
C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages

Каждый пакет содержит свой собственный файл манифеста загрузчика, в котором заданы необходимые условия. Вам не нужно беспокоиться об этом для предоставленных пакетов от Microsoft. Вы действительно должны заботиться только о том, чтобы создавать собственные пакеты для своих предварительных требований.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top