Я собираю файлы своего проекта, используя Heat. но так как я хочу иметь ярлыки в целевой системе, основной исполняемый файл должен быть проигнорирован Heat и добавлен вручную в файле wxs. Я использую следующий файл XSL сказать тепло игнорировать мой исполняемый файл (Aparati.exe)Использование переменных Wix в XSL Transfomration
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi">
<!-- strip out the exe files from the fragment heat generates. -->
<xsl:template match="@*|*">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:output method="xml" indent="yes" />
<xsl:key name="exe-search" match="wix:Component[contains(wix:File/@Source, 'Aparati.exe')]" use="@Id" />
<xsl:template match="wix:Component[key('exe-search', @Id)]" />
<xsl:template match="wix:ComponentRef[key('exe-search', @Id)]" />
</xsl:stylesheet>
Проблема заключается в том, что я не хочу, чтобы написать имя файла прямо здесь, а я хочу, чтобы установить исполняемое имя файла как аргумент (возможно, переменная wix) в моем файле msbuild. Я был бы очень благодарен, если бы кто-нибудь мог сказать мне, как это возможно. И какие другие подходы я могу принять для решения этой проблемы.