Вы пытались добавить преобразование в качестве полезной нагрузки в свой элемент MsiPackage и установить свойство TRANSFORMS с помощью элемента MsiProperty?
<MsiPackage ...>
<Payload Compressed="yes" SourceFile="c:\mytransform.mst"/>
<MsiProperty Name="TRANSFORMS" Value="mytransform.mst" />
</MsiPackage>
Если вам действительно нужно получить путь к встроенным полезным нагрузкам, и если вы используете стандартный загрузчик, вам потребуется создать bafunctions.dll и написать код на C/C++.
Чтобы создать bafunctions.dll, сначала загрузите исходный код wix и используйте проект src\burn\samples\bafunctions в качестве примера. Чтобы использовать скомпилированную bafunctions.dll, добавьте ее в качестве полезной нагрузки в загрузчик.
<BootstrapperApplicationRef ...>
<Payload Compressed="yes" SourceFile="c:\bafunctions.dll" />
</BootstrapperApplicationRef>
Этого достаточно, чтобы стандартный загрузчик вызывал обратные вызовы bafunctions.dll. У вас есть обратные вызовы для OnDetect(), OnDetectComplete(), OnPlan(), OnPlanComplete(). Вы можете использовать эти функции для выполнения некоторых нетривиальных обнаружений и получения/установки переменных записи.
В этом сообщении есть пример использования bafunctions.dll для получения пути к встроенной полезной нагрузке во время выполнения: Как передать путь к полезной нагрузке пакета в msi?
person
Alex
schedule
21.10.2015