Я пытаюсь добавить условие компонента в wix во время преобразования xsl, которое применяется при сборе каталога. Я попробовал этот шаблон, но он не работает.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl"
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<xsl:output method="xml" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="wix:Component">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
<Condition Level="1"><![CDATA[MYPROP="1"]]></Condition>
</xsl:copy>
</xsl:template>
Хотя вводом в файлheat.exe будет местоположение каталога, а генерация xml будет выполняться с помощью тепла вместе с преобразованием, я думаю, что промежуточный xml, который служит в качестве ввода, будет
Вход
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="MyDir">
<Component Id="CefSharp.BrowserSubprocess.Core.dll_x86" Guid="06CF68DB-C4D3-45D3-8619-982C7963ADC6">
<File Id="CefSharp.BrowserSubprocess.Core.dll_x86" KeyPath="yes" Source="$(var.CefSharpDirx86)\CefSharp.BrowserSubprocess.Core.dll" />
</Component>
</DirectoryRef>
</Fragment>
</Wix>
Вывод
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="MyDir">
<Component Id="CefSharp.BrowserSubprocess.Core.dll_x86" Guid="06CF68DB-C4D3-45D3-8619-982C7963ADC6">
<File Id="CefSharp.BrowserSubprocess.Core.dll_x86" KeyPath="yes" Source="$(var.CefSharpDirx86)\CefSharp.BrowserSubprocess.Core.dll" />
<Condition Level="1"><![CDATA[MYPROP="1"]]></Condition>
</Component>
</DirectoryRef>
</Fragment>
</Wix>
Я новичок в мире XSLT. Пожалуйста, предложите.
wix:
, поэтому ваш шаблон ничему не соответствует. - person michael.hor257k   schedule 14.04.2016