问题标签 [heat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
530 浏览

xslt - 使用 heat.exe,启用 gac 仅从 .txt 文件动态读取的特定二进制文件列表

我正在使用 heat.exe(harvest 目录类型)来自动生成 wix 创作。大约有 40 个 dll,我只想 GAC 列出 10 个 dll 的列表,列表在 .txt 文件中可用。是的,我使用了 XSLT(我对它很陌生),我可以使用硬编码的值来做到这一点,但不能从 .txt 中动态读取它。我试过搜索,找不到好的样本。

请建议我如何从 .t​​xt 动态读取 dll 列表并与 Source/FileId 匹配。

0 投票
2 回答
1712 浏览

wix - 在wix中使用Heat时如何避免不必要的标签

我正在使用 HEAT 为文件目录自动生成 WiX 片段。在创建 --.wxs 文件时,为什么在组件中包含一些不必要的标签?如下

情景 1

......很多类文件

..........很多注册表项

0 投票
1 回答
2124 浏览

wix - Wix\heat.exe 奇怪的输出

我有一个目录,里面有一个文件:Iesi.Collections.dll。

当我运行以下命令时:

我得到了非常奇怪的输出。可能只对我来说很奇怪,所以请向我解释一下。为什么我得到这些注册表值?对于任何第三方 dll,例如 MassTransit 或 RabbitMQ,我都会得到相同的结果。

预期输出:

电流输出:

编辑:可能重复:在 wix 中使用 Heat 时如何避免不必要的标签

0 投票
1 回答
5180 浏览

wix - 使用 x64 dll 获取错误 HEAT5150

当我尝试获取的文件夹中有 x64 dll 时出现此错误

heat.exe:错误 HEAT5150:无法从预期为 SelfReg DLL 的文件中收集数据:C:\Users\ama\Documents\Projekt\FreePIE\Output\sixense_fak e_x64.dll。如果此文件不支持 SelfReg,您可以忽略此警告。否则,此错误详细信息可能有助于诊断故障:无法加载文件:C:\Users\ama\Documents\Projekt\FreePIE\Output\sixense_fake_x64.dll,错误:193 [C:\Users\ama \Documents\Projekt\FreePIE\BuildTools\build_installer.xml]

如何配置 heat 以支持 x64 dll 或只添加它们而不进行任何检查?它只是一个静态 c 库,我的程序甚至没有使用它,如果用户想伪造这个 SDK,他会处理从安装文件夹到依赖它的第三方程序的 Sixense_fake_x64.dll。

如果有任何帮助,请编辑源代码

https://github.com/AndersMalmgren/FreePIE

0 投票
1 回答
3323 浏览

xslt - Wix Heat - Replace an autogenerated GUID with known string using XSLT

I'm working on migrating a Windows Service VDPROJ to WiX.

I was able to use HEAT to harvest output from my Windows Service project into a fragment. Currently, in order for my custom actions to work properly, I manually change some of the generated GUIDs from the Heat-generated file into known strings that are referenced in the main Product.wxs.

I need to do this programmatically on every build instead of relying on manual intervention since I need to integrate the WiX project into our continuous build server.

From what I could research, I can use an XSLT transform on the output of HEAT to achieve what I need, but I'm having a hard time making my XSLT transform work.

Here is a section of the generated fragment without using the XSLT transform

Fragments\Windows.Service.Content.wxs

I modified the HEAT prebuild command to:

and wrote the following XSLT to achieve two things:

  • Replace all occurrences of "ComponentIdINeedToReplace" to a known string (there's two)
  • Replace single ocurrence of "FileIdINeedToReplace" to a known string

Resources\XsltTransform.xslt

How can I modify my XSLT to achieve what I need?

0 投票
1 回答
3412 浏览

xml - 使用 XSLT 转换 Heat 生成的 .wxs(添加 RegistryValue 并编辑一些值)

这是我想要的输出:

这是我的 XSLT 文件:

这是我使用该 XSL 的输出:

我一激活

XSL 中的文件更改不会像添加前缀那样应用,将 keypath 更改为 no,如果我删除添加注册表的文件更改就像一个魅力!

我做错了什么?

感谢任何帮助,谢谢。

更新:这是未经转换的 XML 原始示例:

0 投票
1 回答
678 浏览

xml - Wix Heat 包含来自另一个 xml 或 txt 中列出的文件夹中的文件,并排除其余文件

我想使用 Heat 收集一个包含大量文件的目录,但并非所有文件都应该进入安装。但是,我有一个文件列表,应该以这种格式包含在另一个 XML 中:

它也可以是一个简单的文本文件,每行一个文件。

我已经有一个 XSL 转换,我可以指定一个要排除的文件,但如果你有数百个文件,它就不太合适了。我对 XSL 几乎一无所知(一直在使用我能找到的示例),所以我希望能以某种方式将此 xml/txt 文件包含到 XSL 中,热量将使用它并排除列表中的文件。

0 投票
2 回答
297 浏览

xslt - MultiInstance="yes" xsl 热转换

我的问题是 heat.exe 没有命令行开关来将“MultiInstance”属性设置为“yes”(甚至用于设置任意属性)。看来我唯一的办法就是为-t开关提供一个转换 xslt。是否有人已经拥有一个 xslt,它将MultiInstance="yes"在所有收获的输出组件元素上包含一个属性?

如果我没有得到任何答案,我将自己创作一个,并将其作为对这个问题的答案发布。

0 投票
1 回答
380 浏览

powershell - 对文件使用热量而不生成新的组件 guid

我们需要自动填充组件中的文件部分。所以我们想使用一个工具来生成这样的文件部分(这里是一个包含文件)

在 wxs 中,我们希望有类似的东西

在这种情况下,我们将始终拥有具有相同 guid 的相同组件,但只有一些附加文件有效,这些文件遵循 Windows 安装程序定义的规则。

在我的测试中,heat 总是生成一个带有新 guid 的新组件,并且永久标志总是丢失,所以我创建了一个 powershell 脚本来生成文件片段。但这对我来说看起来很丑陋。

热量是否提供了实现我的目标的可能性,或者如何仅更新现有组件中的文件?

0 投票
2 回答
5301 浏览

wix - wix HeatDirectory 服务安装

我正在使用 HeatDirectory 创建源 .wxs 文件。在pickup目录中有一个exe应该作为服务安装。实际上,如果我自己创建组件,我知道如何安装服务,但我不知道如何将 ServiceInstall 包含在自动生成的组件中。有什么建议吗?

最好能自动生成如下代码: