Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WIX、引导程序或自定义操作_Wix_Custom Action_Bootstrapper - Fatal编程技术网

WIX、引导程序或自定义操作

WIX、引导程序或自定义操作,wix,custom-action,bootstrapper,Wix,Custom Action,Bootstrapper,我有一个WIX安装程序,需要启动其他4个安装程序。所有文件都在Exe文件中,但我们可能需要使用MSI安装程序添加其他文件 经过大量研究,我达成的共识是使用引导程序,并将儿童安装程序链接起来。但我在最后一篇帖子中找到了一条评论:“但是现在你可以使用自定义操作了。” 自定义操作的问题是,当选择立即模式时,它们都会在GUI出现之前运行。但是如果我使用“延迟”,那么定制操作就不能访问大多数安装程序变量数据。因此,我回到绘图板:我应该使用引导程序和链,还是仅仅以某种方式使用自定义操作 非常感谢您的建议 使

我有一个WIX安装程序,需要启动其他4个安装程序。所有文件都在Exe文件中,但我们可能需要使用MSI安装程序添加其他文件

经过大量研究,我达成的共识是使用引导程序,并将儿童安装程序链接起来。但我在最后一篇帖子中找到了一条评论:“但是现在你可以使用自定义操作了。”

自定义操作的问题是,当选择立即模式时,它们都会在GUI出现之前运行。但是如果我使用“延迟”,那么定制操作就不能访问大多数安装程序变量数据。因此,我回到绘图板:我应该使用引导程序和链,还是仅仅以某种方式使用自定义操作


非常感谢您的建议

使用自定义操作调用其他安装程序的更要命的警告是,Windows Installer一次只支持一个安装。因此,如果您的任何EXE解包到MSI,它们将在安装时失败,因为您的安装程序当前正在运行

执行多个EXE安装的“正确”方法是使用引导程序

当您有一个不使用Windows installer的相对简单的第三方安装程序时,您可以调用其他安装程序执行自定义操作。在这些情况下,您可以在
InstallFinalize
之前安排自定义操作,并传递所需的任何信息


延迟安装程序在提升的进程中运行,这通常是决定操作是延迟还是立即执行的决定因素。您可以在安装之前或之后安排立即操作,但它将仅在具有用户权限的情况下运行。

Hi Mitch,谢谢!我们现在没有MSI,但将来可能需要。以错误的方式开始听起来像是有很多工作要做,谁知道我们会遇到什么问题。如果不是自定义操作,是否有方法将数据传递到引导程序?我真的是个新手,但听起来像是引导程序在原始安装脚本的环境之外启动东西。“听起来像是引导程序在原始安装脚本之外启动东西”——这是正确的。它实际上是由3个(或者不管您需要多少个)独立的安装程序组成的,由另一个脚本调用。这是一个很好的教程