- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用热量从 .csproj 文件中获取二进制文件。这工作正常,但是,当我卸载或升级应用程序时,我想将收获的文件“MyApp”.exe.config 保留在安装目录中,以便用户不会丢失其默认设置。我是否需要应用专门的 XSLT 转换以及 heat 命令?或者,由于收获的结果只是片段中的几个组件,也许最好手动添加文件,这样我就可以单独控制每个文件?我是 WiX 的新手,在找到这个问题的答案时遇到了一些困难。
感谢您的建议!
最佳答案
如果将以下内容保存到名为例如的文件中transform.xslt
并将 -t transform.xslt
添加到热命令行,热结果应该被转换,并将添加 Permanent
- MyApp.exe.config
的属性:
<?xml version="1.0" encoding="UTF-8"?>
<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"
exclude-result-prefixes="wix">
<xsl:template match="wix:Wix">
<xsl:copy>
<xsl:apply-templates select="@*" />
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="wix:Component">
<!-- Just copy the tag itself -->
<xsl:copy>
<!-- Copy all attributes -->
<xsl:apply-templates select="@*" />
<!-- Here comes the distinction: if you find our special component, do some special things -->
<xsl:choose>
<!-- Note that the string is translated to all lower case, so you don't have to care about being case sensitive or not -->
<xsl:when test="translate(@Id,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz') = 'myapp.exe.config'">
<!-- Here we will add the Permanent-attribute to this very special component -->
<xsl:attribute name="Permanent">yes</xsl:attribute>
</xsl:when>
</xsl:choose>
<!-- Now take the rest of the inner tag -->
<xsl:apply-templates select="node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
根据 WiX 帮助文件,Permanent
属性执行以下操作: 如果此属性设置为“yes”,则安装程序不会在卸载期间删除该组件。安装程序在 Windows Installer 注册表设置中为该组件注册一个额外的系统客户端(这基本上意味着至少有一个产品始终引用该组件)。请注意,此选项与不设置 guid 的行为不同,因为虽然该组件是永久性的,但它仍然是可修补的(因为 Windows Installer 仍然跟踪它),只是不可卸载。
请注意,我已将文件名添加为小写字母,因此无需检查 MyApp.exe.config
,而是添加所有小写字母“myapp.exe.config”。这样您就不必处理小写/大写问题。另请注意,我假设您使用 -suid
-选项进行加热,即不是为每个组件创建带有随机字母/数字的 Id,而是每个组件通常将其文件名作为 Id。
关于xslt - WiX:在卸载或升级时保留 Heat 收集的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22418172/
OpenStack“Heat”的编排引擎可以部署计算资源和配置软件,称为 HOT 模板。 github 上有很多例子: https://github.com/openstack/heat-templa
我有一个 wix 安装程序的预构建事件,它看起来像这样: "%WIX%\bin\heat.exe" dir %SystemDrive%\Staging -dr INSTALLFOLDER -cg Co
我有一个工作正常的 WiX 安装程序,但我已经有几个月没有使用它了...所以,我没有尝试构建安装程序(在重新配置的机器上),现在它无法构建每个时间。我试图简化一切以找出失败的地方,但我似乎仍然无法弄清
所以这是基本设置。我有一个现有的 WIX 项目,它将一堆单独的片段构建到一个更大的 MSI 中。我正在尝试更改项目以允许您选择要安装的单个部分。我遇到的程序是,当我在较小的目录上运行 heat 以创建
所以我正在使用 Wix 安装我的应用程序,它运行良好并且可以满足我的所有需求。我现在遇到的一个问题是。我在我的 VS 2010 预构建事件命令中使用以下命令行参数: heat.exe dir "C:\
所以我正在使用 Wix 安装我的应用程序,它运行良好并且可以满足我的所有需求。我现在遇到的一个问题是。我在我的 VS 2010 预构建事件命令中使用以下命令行参数: heat.exe dir "C:\
OpenStack Heat AutoScaling 1、背景 Openstack的Heat是在H版之后加入的组件,旨在创建一套业务流程,更轻松的管理一个集群。集群内的虚拟机可以作为一个整体,
我有一个包含一个文件的目录:Iesi.Collections.dll。 当我运行以下命令时: heat.exe dir D:\MyDir -cg References -srd -o D:\Produ
我正在使用Wix 3.5的最新版本,并尝试使用heat.exe生成片段文件。命令行是: "%WIX%\bin\heat.exe" project "MyProj.csproj" -pog Binari
我正在制作一个“热图”,其中箱中的颜色是每个箱中某些第三个值的平均值。例如,x 和 y 位置,然后是平均海拔。我的问题是散点和框并不总是重叠(左上角)。我只是错过了一些简单的事情吗?有更好的办法吗?
我的问题是在向 leaflet.heat 层添加点时我似乎无法增加点强度。当我增加一个点的强度时。 [lat, long, intensity] 对于 leaflet.heat,无论我将强度设置为多少
使用 xslt 文件转换使用 wix 的热收集组件时,是否可以仅包含某些文件扩展名?我知道我可以使用以下内容排除文件扩展名: 但是是否可以包含多种文件类型并排除其他所有文件(例如:.exe、.dl
我正在使用 heat.exe 生成 WiX 文件片段。 我通过在 Visual Studio 中向我的网站项目添加构建后步骤来完成此操作,这样每次构建完成时,都会拾取 Web 项目中的任何新文件并创建
我正在使用热量从 .csproj 文件中获取二进制文件。这工作正常,但是,当我卸载或升级应用程序时,我想将收获的文件“MyApp”.exe.config 保留在安装目录中,以便用户不会丢失其默认设置。
我正在使用热量从 .csproj 文件中获取二进制文件。这工作正常,但是,当我卸载或升级应用程序时,我想将收获的文件“MyApp”.exe.config 保留在安装目录中,以便用户不会丢失其默认设置。
我有一个 OpenStack Heat 模板,它大量借鉴了 CloudFormation 参数,这就是我添加 CF 标签的原因。 我的模板包含两个实例,应按特定顺序启动(或至少通过用户数据配置)。我以
我有一个包含 x 行(即抽取次数)和 y 列(观察次数)的矩阵。它们代表 y 预测的分布。 现在我想制作一张抽签的“热图”。也就是说,我想绘制一个“置信区间”(不是真正的置信区间,而只是其间带有阴影的
使用 WiX Toolset 3.10,并尝试为使用 heat.exe 实用程序收集的某些文件创建快捷方式,如下所示: "%WIX%\bin\heat.exe" dir SourceDir -nolo
我正在关注this tutorial here我复制粘贴了第一个代码示例: from scipy import misc l = misc.lena() misc.imsave('lena.png',
我正在尝试实现 this demo在我的应用程序中,但无论值如何,我都会将整个 map 变黑。这是我的代码: var map = AmCharts.makeChart( "chartdiv", { "
我是一名优秀的程序员,十分优秀!