问题标签 [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.
wix - HeatDirectory 组件 ID 重复
在我的项目中有几个模块。它们的源文件由 heatdirectory 生成。
它工作正常。我需要将它们安装在一个目录中。但是他们使用了几个库,这些库都出现在两个模块中,并且在生成源文件后包含具有重复 ID 的组件。其实我不知道该怎么办。有人有想法吗?
wix - WiX Heat.exe 生成 wxs 文件导致错误 ICE57
我正在使用 WiXHeat.exe
来收集文件目录并创建.wxs
文件。
其中一个文件依赖于Microsoft.DirectX.Direct3D.dll
. 而 Heat 在“根”注册表下注册了所有其余的依赖项,例如:
Direct3D 正在“用户”注册表下注册。
导致以下错误:
ICE57:组件“x”具有每个用户和每个机器的数据以及每个机器的 KeyPath
我该如何解决这个问题?
windows - 如何在某个温度下关闭程序并在温度低时重新启动?
我想要一种方法来在我的温度达到 80+ 时关闭程序,但当它低于 70 时我希望它重新启动。我要求太多了吗?:(
visual-studio-2010 - 为两个 Visual Studio 项目创建单个 wix 安装程序
我正在使用heat.exe
此脚本在构建后事件中收集我的 Visual Studio 项目的调试(或发布)目录:
call "C:\Program Files (x86)\WiX Toolset v3.8\bin\heat.exe" dir "$(TargetDir)." -var var.WixDemo.TargetDir -dr INSTALLFOLDER -cg Binaries -ag -scom -sreg -sfrag -srd -o "$(SolutionDir)WixSetup\$(ProjectName).Binaries.wxs"
我会得到一个具有两个功能的安装程序:
项目A
项目B
问题是这两个项目引用了相同的 dll ( xyz.dll
),因此,两个收获进程都为此文件创建了一个具有相同 ID 的组件。
编辑
这是我收获发布目录后的输出文件。
和
这两个 xml 对于组件“xyz.dll”具有相同的 ID,因此我不能在我的 Product.wxs 中同时使用“WixDemoFeature1Binaries”和“WixDemoFeature2Binaries”。
我想得到这些:
和
我怎样才能改变这种行为?
visual-studio-2012 - msbuild+wix:如何让 heatdirectory 使用 defineconstants 的变量?
大家好:我的第一篇文章!
我正在尝试使用 heatdirectory 获取 wixproj,以使用 visualstudio 的“定义常量”功能获取其源目录,其中我定义了一个常量 SourceBinaries=c:\someproject\bin\release。
目的是为多个项目使用相同的 wixproj/setup 并使用 TFS-Build 自动化整个项目......
但是,目录标签永远不会获得 SourceBinaries 的值。
这是xml代码:
无论我尝试什么都会导致“错误“HeatDirectory”任务没有为所需参数“Directory”提供值。
有人可以帮我解决这个问题吗?提前谢谢...
迪迪埃
wix - 使用 HeatDirectory 任务从手动创建组件转移到收获
我正在使用 WiX 3.8 构建一个安装产品的项目。安装程序基本完成。软件包安装的其中一个程序依赖于第三方的 dll,这些 dll 经常更新。愚蠢的是,dll 的版本号会定期更改。在第一次编写安装程序项目时,我没有考虑包含对更改文件名的支持,而是手动编写了每个组件。
将来应该改变这种行为。如果我理解正确,可以在HeatDirectory Task的帮助下自动为文件生成组件。我现在使用正在运行的 HeatDirectory 任务创建了一个示例项目。但是 HeatDirectory 任务产生的输出和我过去一直使用的手动编写的组件之间存在一些差异。
我希望 HeatDirectory 任务产生与我的手动方法相同的输出,尽可能好。以下是两个组件的代码,第一个是手动创建的,第二个是由 HeatDirectory 任务创建的:
手动创建的组件:
HeatDirectory 任务生成代码:
产生上述输出的代码如下:
现在,我将记下要更改的 HeatDirectory 任务生成代码的特征:
- 组件组中的每个组件都有一个
Directory
属性。我希望父级ComponentGroup
拥有该Directory
属性并在每个子组件中省略它。 - 我想要静态指南。
- 我希望组件的
Id
属性由前缀CMP
后跟文件名组成。我知道项目中不能有两个具有相同文件名的文件,但我知道情况并非如此。我不想要任务生成的神秘标识符。 - 组件的
File
子项过于简陋。我希望 HeatDirectoy 任务Name
为每个文件创建一个属性,该属性是文件的当前名称。然后Compressed
属性应该加上值no
,并且DiksId
应该加上一个可以在任务中以某种方式指定的变量值。 - 如果收获的文件是 dll,则任务应在属性后面附加
Asssembly
value.net
,AssemblyApplication
将收获的文件的名称作为其值AssemblyManifest
,并将收获的文件的名称作为其值。
是否可以通过 HeatDirectory 任务来实现这一点?
msbuild - 使用一个 C# COM dll 收集多个文件
我正在编译一个 WiX 安装程序并使用 Heat 来收集我的文件,但我遇到了一个问题,我正在收集一个包含 1 个 C# COM dll 的目录。我需要基本上对此进行重新充气。我的 wix 项目文件中有以下内容来收集文件:
我遇到的问题是,当它为我的 C# COM dll 生成必要的注册表信息时,它还在为该文件夹中未暴露给 COM 的一堆其他 dll 生成注册表信息。
有没有办法解决?我是否应该尝试将单个 C# COM dll 收集到单独的 wxs 文件中?
编辑
除了上面定义的目录之外,我确实尝试在单独的 WiX 文件中收集单个 C# COM dll,但我得到了预期的错误:
我可能可以通过使用 xslt 转换从上面的目录中排除这个文件,但这似乎有点矫枉过正。
wix - Wix 为整个树生成单个组件 ID
我是一个对 wix 几乎没有经验的人,我也在尝试为我负责的组件支持 Windows。我正在尝试为我的产品生成的一组文件创建合并模块。这些文件存在于许多子目录中。我想知道如何为整个树中的所有文件创建单个组件 ID。我不担心小升级,因为那是我不会做的事情。我试图避免为每个文件生成大量 GUID。
还有什么方法可以更改要安装文件的根目录的名称。目前,在我们的构建系统中,我要安装的文件最终位于目录名称“install”中。在 heat 生成的 wxs 文件中,它以 install 形式出现。我想知道是否可以将其更改为实际产品名称而不是“安装”。
xslt - 在另一个 XML 的不同属性中使用来自另一个 XML 的属性
我使用来自 Wix 工具集的 Heat 为我的安装程序生成组件,但我的安装程序很少是 Per-User,因此我不能使用 Heat 的自动生成指南。我可以随机生成一个 GUID,但由于组件规则我不希望这样做。
所以我有一个包含文件列表的 XML,这些文件应该包含在安装中,其结构与生成的文件不同,我为每个文件添加了静态 guid。我想要做的是匹配filename
我的 XML 和生成的 XML 并将 GUID 插入到我生成的 XML 中。
这是一个没有任何转换的 xml 示例:
这是我的自定义 XML,每个文件都有 GUID:
所以我希望在文件名和最好的父文件夹在两个 XML 上匹配时替换Guid="PUT-GUID-HERE
为 " 。Guid="52B62A6E-DD87-424A-8296-3AA00E74AEF8"
我正在尝试了解 XSL,但我能做到的只是脱发。我和我剩下的头发会感谢任何帮助。
更新:这两个 xml 文件之间的匹配应该在Source
第一个文件和Path
第二个文件上执行。
Source="$(var.sample)\Folder1\NewTextFile0.txt"
文件名 (NewTextFile0.txt) 和父文件夹 (Folder1) 在一个项目中是唯一的。Path="\Programs\Folder1\NewTextFile0.txt"
文件名和父文件夹是唯一的也是如此。
wix - 蜡热不生成注册表输出
我是 WIX 的新手(因为 VS2013 不再支持我的设置项目而被移动)。
我正在使用:Windows Installer XML Toolset Toolset Harvester 版本 3.8.1128.0
我想从 .reg 文件生成一个 WIX 片段,但是什么时候做:
热 reg MyApp.reg -v -o MyApp.wxs
MyApp.wxs 的内容很简单:
注册表文件 MyApp.reg 的内容是:
谢谢你。