Объедините несколько файлов поддержки для WiX Burn

У меня есть сторонний MSI, предоставленный мне поставщиком. Однако MSI не является самостоятельным, он требует нескольких файлов поддержки (DLL, файлы конфигурации, драйверы устройств ...) для завершения установки. Я пытался установить без этих файлов в каталоге с MSI, и он жалуется на отсутствующие файлы во время установки. Мне кажется, это странный способ собрать установщик. В любом случае, я хотел бы связать эту «установку» для использования Burn. Я использовал MSIPackage раньше, но это работает для одного файла. Как бы я указать эту группу файлов? Я испытываю желание сделать новый MSI, который включает MSI от третьей стороны плюс дополнительные файлы, но затем я получаю некоторую установленную фантомную программу, которая на самом деле не то, что я хочу.

Заранее спасибо за помощь.

РЕДАКТИРОВАТЬ с Решением:

Большое спасибо Тому за ключи к этой проблеме. Для тех, кому интересно, вот код и шаги, которые я использовал для решения этой проблемы в WiX 3.8.

Сначала соберите каталог, в котором хранился сторонний установщик.

"%WIX%bin\heat.exe" dir "$(ProjectDir)..\ThirdParty\AppDirectory" -dr Dir_AppName -cg PAYGROUP_AppName -ag -sreg -scom -srd -var "var.AppNameDir" -t "$(ProjectDir)\ComponentToPayload.xsl" -out "$(ProjectDir)AppNamePayloadGroup.wxs"

кудаAppNameDir переменная препроцессора, ссылающаяся на расположение файлов установки приложения.

Мой файл трансформации немного отличался от того, на который ссылался Том, но не сильно. Я создал группу компонентов в моем оригинальном тепловом файле, а затем использовал ее в качестве моей PayloadGroup позже, а не DirectoryRef.

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
  xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <xsl:template match="/">
    <Wix>
      <Fragment>
        <xsl:apply-templates select="*" />
      </Fragment>
    </Wix>
  </xsl:template>

  <xsl:template match="//wix:ComponentGroup">
    <PayloadGroup>
      <xsl:attribute name="Id">
        <xsl:value-of select="@Id"/>
      </xsl:attribute>
      <xsl:apply-templates select="*" />
    </PayloadGroup>
  </xsl:template>

  <xsl:template match="//wix:File">
    <Payload>
      <xsl:attribute name="SourceFile">
        <xsl:value-of select="@Source"/>
      </xsl:attribute>
    </Payload>
  </xsl:template>

</xsl:stylesheet>

Затем я создал фрагмент для компонента и сослался на группу полезной нагрузки.

  <Fragment>
    <PackageGroup Id="PCKGRP_AppName">
      <MsiPackage
        SourceFile="$(var.AppNameDir)\app.msi">
        <MsiProperty Name="PropertyName1" ="Value1"/>
        <MsiProperty Name="PropertyName2" ="Value2"/>
        <MsiProperty Name="PropertyName3" ="Value3"/>
        <PayloadGroupRef Id="PAYGROUP_AppName"/>
      </MsiPackage>
    </PackageGroup>
  </Fragment>

И, наконец, ссылка на группу в цепочке

    <Chain>
...
      <PackageGroupRef Id="PCKGRP_AppName"/>
...
    </Chain>   

Ответы на вопрос(2)

Ваш ответ на вопрос