如何为 Wix 刻录引导程序 exepackage 添加依赖文件夹

Posted

技术标签:

【中文标题】如何为 Wix 刻录引导程序 exepackage 添加依赖文件夹【英文标题】:How to add a dependent folder for a Wix burn bootstrapper exepackage 【发布时间】:2015-04-13 16:51:49 【问题描述】:

我是 Wix 烧录引导程序的新手,所以请原谅我的无知。我有一个要求,我需要使用烧录引导程序安装先决条件。 先决条件是一个setup.exe(第三方),它依赖于文件和一个文件夹(包含几个文件)。所有这些都需要存在于setup.exe的根目录中,setup.exe才能成功运行。

示例结构--

    setup.exe samplefile.rsp files(这是一个包含 setup.exe 所需文件的文件夹)
      Data1.cab Clientruntime.msi
    另一个文件

这是我目前得到的。

    <ExePackage Id="Ingres_Client"
                Compressed="yes"
                PerMachine="yes"
                Permanent="yes"
                Vital="yes"
                SourceFile="setup.exe"
                InstallCommand="/r sampleCR.rsp"
                InstallCondition="(VersionNT &gt; v5.1 OR VersionNT64 &gt; v5.1)"
                DetectCondition="Ingres">

    </ExePackage>

我尝试使用 PayLoad 包含必要的文件。但我不知道如何添加文件夹(“文件”文件夹),因为它是 setup.exe 的要求

感谢任何帮助。

【问题讨论】:

【参考方案1】:

使用子Payload 元素的Name 属性。

<ExePackage SourceFile="setup.exe">
    <Payload SourceFile="samplefile.rsp" />
    <Payload SourceFile="anotherfile" />
    <Payload Name="files\data1.cab" SourceFile="files\data1.cab" />
    <Payload Name="files\clientruntime.msi" SourceFile="files\clientruntime.msi" />
</ExePackage>

如果文件很多很多,最好只制作一个自解压的 zip 存档。

【讨论】:

谢谢肖恩的回答!您的示例代码对我很有帮助! @user2547006 谢谢。在*** 上,您应该为有帮助的答案投票,并通过单击答案旁边的复选标记接受回答您问题的答案。 如果文件很多,您还可以使用 heat 或 paraffin 创建有效负载 xml。对于热量,您需要使用 xslt 转换(请参阅***.com/questions/26982208/…)。

以上是关于如何为 Wix 刻录引导程序 exepackage 添加依赖文件夹的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Wix Burn 安装程序包含完整的 .NET 先决条件

如何使 ExePackage 的 Wix DetectCondition 始终为真?

如何为多个 MSI 文件构建引导程序?

WiX Bootstrapper:如何从命令行设置刻录变量?

断电后继续安装

Wix Burn exepackage 属性