wix 快捷方式 xsl 文件
Posted
技术标签:
【中文标题】wix 快捷方式 xsl 文件【英文标题】:wix shortcut xsl file 【发布时间】:2013-06-13 22:10:33 【问题描述】:我正在使用 heat.exe 为我的调试和发布目录生成 .wxs 文件。 通常我使用这个 .xsl 文件来生成我的快捷方式。
但是在我的应用程序中,我需要有一个发布版本的快捷方式 另一个用于调试版本。 (因为这是作为 SDK 用于开发的)
<?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">
<xsl:output omit-xml-declaration="yes" indent="yes" encoding="utf-8"/>
<xsl:strip-space elements="*"/>
<xsl:template match="@*|*">
<xsl:copy>
<xsl:apply-templates select="@*" />
<xsl:apply-templates select="*" />
</xsl:copy>
</xsl:template>
<xsl:output method="xml" indent="yes" />
<xsl:template match="wix:File[@Id='APP.exe']">
<xsl:copy-of select="."/>
<Shortcut Id="desktopAPP"
Advertise="yes"
Directory="DesktopFolder"
Name="APP"
Icon="APP_GUI.ico"
WorkingDirectory="BIN"
xmlns="http://schemas.microsoft.com/wix/2006/wi" />
<Shortcut Id="startmenuAPP"
Advertise="yes"
Directory="ProgramMenuFolder"
Name="APP"
Icon="APP_GUI.ico"
WorkingDirectory="BIN"
xmlns="http://schemas.microsoft.com/wix/2006/wi" />
</xsl:template>
</xsl:stylesheet>
所以基本上这就是我得到的:
<Component Id="APP.exe" Directory="Debug.amd64" Guid="*">
<File Id="APP.exe" KeyPath="yes" Source="$(var.BinSourcePath)\Debug.amd64\APP.exe" />
<Shortcut Id="desktopAPP" Advertise="yes" Directory="DesktopFolder" Name="APP" Icon="APP_GUI.ico" WorkingDirectory="BIN" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" />
<Shortcut Id="startmenuAPP" Advertise="yes" Directory="ProgramMenuFolder" Name="APP" Icon="APP_GUI.ico" WorkingDirectory="BIN" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" />
</Component>
我想将我的 xsl 文件更改为创建 APP.debug 快捷方式和 APP.Release 快捷方式 我可以看到我需要更改 xsl 以注意是否 Component 而不是 File 属性指向 Release 或 Debug 的目录。 并相应地更改名称。
你能帮我解决这个 xsl 吗?
【问题讨论】:
【参考方案1】:这样的事情应该可以工作:
<xsl:template match="wix:File[@Id='APP.exe' and contains(../@Directory,'Debug')]">
<xsl:copy-of select="."/>
<wix:Shortcut Id="startmenuAPP"
Advertise="yes"
Directory="ProgramMenuFolder"
Name="APP (Debug)"
Icon="APP_GUI.ico"
WorkingDirectory="BIN"
/>
为您想要的每个快捷方式使用类似的模板。我还没有测试过,可能已经切换了你想要的 Debug 快捷方式。
【讨论】:
以上是关于wix 快捷方式 xsl 文件的主要内容,如果未能解决你的问题,请参考以下文章