문제

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

다른 팁

당신은 이미 자신의 질문에 대답 한 것 같습니다. 귀하의 답변에서 알 수 있듯이 Pacakges 자체에 의해 결정된 제품의 순서. MSI는 항상 마지막으로 설치됩니다.

패키지는 (VS2008의 경우)에서 찾을 수 있습니다.
C : Program Files Microsoft SDKS Windows V6.0A Bootstrapper 패키지

Eeach 패키지에는 전제 조건이 설정된 자체 부트 스트랩 매니페스트 파일이 포함되어 있습니다. Microsoft의 제공된 패키지에 대해서는 이에 대해 걱정할 필요가 없습니다. 사전 반품을 위해 자신만의 패키지를 만든 경우에만 관심을 가져야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top