Wix、Heat 和 Wxi 文件

     2023-02-16     56

关键词:

【中文标题】Wix、Heat 和 Wxi 文件【英文标题】:Wix,Heat and Wxi File 【发布时间】:2009-10-21 06:39:02 【问题描述】:

我正在使用 heat.exe 生成文件列表,我需要替换 File/@Source="SourceDir" 所以我传递 -var 和目录名称,但这些变量是在我的 .wxi 文件中定义的 如何在热生成的 wxs 文件中包含 .wxi 文件。因为每次构建时都会生成此文件。

【问题讨论】:

我想我找到了解决此问题的另一个选项。使用 -var 并在蜡烛命令行上使用相同的。 【参考方案1】:

为什么要替换 SourceDir?

您可以使用-b 开关传递其他基本文件夹以点亮,对于 SourceDir 的所有引用,WiX 将在您指定的基本文件夹中查找。使在机器之间移动东西变得容易,只需更新构建系统中的参数,而不是编辑包含文件。

【讨论】:

当您有多个文件夹,具有相同的文件名时,SourceDir 是一场噩梦。【参考方案2】:

wix 3.7 的更新,当您在 wixproj 中使用 HeatDirectory 任务而不是运行 heat.exe 时,您可以使用 PreprocessorVariable 来设置 SourceDir。

<Target Name="BeforeBuild">
<HeatDirectory Directory="..\distribution"
               PreprocessorVariable="myVar"  <--- your variable name
               OutputFile="HeatGeneratedFileList.wxs"
               ComponentGroupName="HeatGenerated"
               DirectoryRefId="INSTALLFOLDER"
               AutogenerateGuids="true"
               ToolPath="$(WixToolPath)"
               SuppressFragments="true"
               SuppressRegistry="true"/>
</Target>

更多细节:

http://wix.sourceforge.net/manual-wix3/msbuild_task_reference_heatdirectory.htm

WIX HeatDirectory Task - Setting the preprocessorVariable

【讨论】:

在 Visual Studio WiX 项目中使用 WXI 文件

】在VisualStudioWiX项目中使用WXI文件【英文标题】:UsingWXIfilesinVisualStudioWiXProject【发布时间】:2009-04-2919:46:36【问题描述】:我遇到了几个来源,声明使用包含文件(.wxi)将WiX安装文件拆分为单独的部分(变量、组件等)。对我来... 查看详情

wix heat 使用 xsl 文件移除命名空间

】wixheat使用xsl文件移除命名空间【英文标题】:wixheatremovenamespaceusingxslfile【发布时间】:2014-07-0620:56:10【问题描述】:这是我的预构建脚本:"%WIX%\\bin\\heat.exe"dir"$(SolutionDir)Export\\Release\\SkyCam\\Config"-t"$(SolutionDir)IQStudioInstaller\\Simu... 查看详情

WIX - Heat.exe - Heat.exe 是不是支持多种多收获类型

...09-0903:35:38【问题描述】:我想使用Heat.exe命令构建一个WIX文件(.wxs)。我想知道heat是否在同一命令中支持多种收获类型,如 查看详情

如何让 Wix Heat.exe 保留自定义文件 ID?

】如何让WixHeat.exe保留自定义文件ID?【英文标题】:HowtomakeWixHeat.exeretaincustomfileid?【发布时间】:2019-07-2311:21:38【问题描述】:我有一个ASP.NET核心应用程序,我正在为其创建WIX安装程序。我正在使用Heat生成所有文件:<!--Remov... 查看详情

Wix 资源收集工具“Heat”。如何获取具有动态名称的文件,例如构建时生成的 Microsoft 运行时文件

】Wix资源收集工具“Heat”。如何获取具有动态名称的文件,例如构建时生成的Microsoft运行时文件【英文标题】:Wixresourceharvestingtool"Heat".HowtoharvestfileswithdynamicnamelikeMicrosoftruntimefilesgeneratedonbuild【发布时间】:2020-01-2016:29:... 查看详情

WiX 安装程序:使用 xslt 和 heat.exe 如何在找到父/子匹配后更改父 ID 的值?

】WiX安装程序:使用xslt和heat.exe如何在找到父/子匹配后更改父ID的值?【英文标题】:WiXInstaller:Usingxsltwithheat.exehowdoIchangethevalueoftheparentIdafterfindingaparent/childmatch?【发布时间】:2019-12-0502:49:03【问题描述】:我有以下来源:<Dir... 查看详情

如何包含由 Heat 创建的 Wix Fragments

】如何包含由Heat创建的WixFragments【英文标题】:HowtoincludeWixFragmentscreatedbyHeat【发布时间】:2010-11-1609:53:28【问题描述】:我有以下片段:<?xmlversion="1.0"encoding="utf-8"?><Wixxmlns="http://schemas.microsoft.com/wix/2006/wi"><Fragmen 查看详情

基于 WIX 文件中的环境变量有条件地包含文件

】基于WIX文件中的环境变量有条件地包含文件【英文标题】:ConditionalinclusionoffilesbasedonanEnvironmentvariableinaWIXfile【发布时间】:2012-10-0906:06:52【问题描述】:所以我有一个基于WIX的部署项目。我注意到您可以在其中包含功能和文... 查看详情

Wix Heat 输出没有像我想要的那样引用目录

】WixHeat输出没有像我想要的那样引用目录【英文标题】:WixHeatoutputnotreferencingdirectorylikeIwant【发布时间】:2011-08-0216:46:56【问题描述】:所以这是基本设置。我有一个现有的WIX项目,它将一堆单独的片段构建到一个更大的MSI中... 查看详情

Wix Installer Heat.exe 错误 参数“exePath”无效

】WixInstallerHeat.exe错误参数“exePath”无效【英文标题】:WixInstallerHeat.exeerrorParameter"exePath"isinvalid【发布时间】:2021-02-1713:21:15【问题描述】:我正在构建一个独立的.NetCore工作者服务,我将其作为Windows服务运行。现在我... 查看详情

wix 快捷方式 xsl 文件

】wix快捷方式xsl文件【英文标题】:wixshortcutxslfile【发布时间】:2013-06-1322:10:33【问题描述】:我正在使用heat.exe为我的调试和发布目录生成.wxs文件。通常我使用这个.xsl文件来生成我的快捷方式。但是在我的应用程序中,我需... 查看详情

如何在 WiX 安装程序中将应用程序添加为防火墙例外

...】:2013-07-0709:43:47【问题描述】:我有一个需要安装大量文件的安装程序。我正在使用heat.exe来收集所有文件。这个heat命令实际上是我的构建脚本的一部分,后面跟着Candle.exe和light.exe等其他命令。现在,我的应用程序t 查看详情

如何使用 Wix 和项目参考部署本机映像 (NGen)

...用heat.exe我认为)包含来自其他项目(EXE和DLL)的二进制文件。我现在要做的是,在安装过程中使用ng 查看详情

Wix 重大升级,无论文件版本较新,都替换文件

】Wix重大升级,无论文件版本较新,都替换文件【英文标题】:Wixmajorupgrade,replacefilesregardlessofnewerfileversion【发布时间】:2015-09-1608:26:52【问题描述】:我的WiX安装程序(Wix3.10、MSI4.5)使用MajorUpgrade进行更新。要安装的文件在预... 查看详情

WiX 安装程序:将 xslt 与 heat.exe 一起使用时,如何在还使用匹配属性时找到匹配的子字符串?

】WiX安装程序:将xslt与heat.exe一起使用时,如何在还使用匹配属性时找到匹配的子字符串?【英文标题】:WiXInstaller:Usingxsltwithheat.exehowdoIfindamatchingsubstringwhenalsousingamatchattribute?【发布时间】:2020-02-1322:34:44【问题描述】:我有... 查看详情

在wix的子文件夹中添加所有项目

】在wix的子文件夹中添加所有项目【英文标题】:Addallitemsinasubfolderinwix【发布时间】:2015-04-2913:45:19【问题描述】:我正在尝试使用wix在子文件夹中添加所有项目,但无法使其正常工作。我要包含的文件夹是SourceDir\\cgis\\plugins... 查看详情

如何使用绑定路径创建 WiX 补丁?

...cmake运行heat.exe(或类似的东西),它会生成包含我项目文件的files.wxs,格式如下:我们假设在名为“bin”的文件夹中有一个名为a.txt的文件。该项目在桌​​面上的NewFold 查看详情

WIX 如何删除 xmlns="" 标签

...站的wix项目。其中一个步骤将几个xml标记添加到web.config文件。每当添加xml标签时,WIX都会添加我不想要的xmlns=""属性。插件设置.wxi<?xmlversion="1.0"encoding=" 查看详情