首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型2自定义操作在InstallUISequence上执行失败,而如果放在InstallExecuteSequence上则执行它

类型2自定义操作在InstallUISequence上执行失败,而如果放在InstallExecuteSequence上则执行它
EN

Stack Overflow用户
提问于 2019-10-01 14:02:32
回答 1查看 234关注 0票数 0

我有一个类型2自定义操作,它正在执行一个带有参数的可执行文件。我需要在InstallWelcome对话框之前执行此CA,因为它用于收集一些信息,以便在以后预填充对话框。因此,我在CostFinalize操作后在InstallUISequence中对此CA进行了排序,但是安装程序未能执行它,错误如下所示。

如果我在InstallExecuteSequence序列中移动CA,它将按预期执行。(正如在后面的注释中解释的,这不是真的,它在这个序列中也失败了)。

有人知道会发生什么事吗?

可能是有用的信息,:如果在Type18CustomAction中使用相同的可执行文件(该可执行文件与应用程序的二进制文件一起安装),那么它的执行就没有问题。

代码语言:javascript
复制
<CustomAction Id='RunEXE' BinaryKey='EditCfg.exe.CA.ID' ExeCommand='[INSTALLFOLDER][SEPARATOR][CONFIG_FILE_NETWORK_LOCATION][SEPARATOR][USER_NAME][SEPARATOR][PASSWORD][SEPARATOR][WIX_UPGRADE_DETECTED][SEPARATOR][CHECKED_RULE][SEPARATOR][CERTIFICATE_LOCATION]' Execute='immediate' Impersonate='no' Return='check' />

<Binary Id='EditCfg.exe.CA.ID' SourceFile='path_to_the_exe_file'/>


MSI (c) (14:04) [15:18:36:452]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1722 
Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action RunEXE, location: C:\Users\yyyyy\AppData\Local\Temp\MSIC8A9.tmp, command: param1§param2§param3§§param5§§param7
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-02 02:23:27

1722错误指示exe返回一个非零退出代码.如果这是预期的,您可以将返回属性更改为使用ignore而不是check。但是,如果没有预料到,您可能需要找出返回代码所指示的是什么,因为这是某种类型的失败的可能性很大。

以下是一些可能导致失败的事情:

  • exe文件可能有一些依赖项。只将exe放在二进制表中并不携带它的依赖项,因此加载和运行exe的尝试可能会失败,甚至在它到达exe的主代码之前也会失败,这取决于依赖项的类型。
  • 当作为与产品一起安装的文件执行时,自定义操作执行时该文件可能不存在于指定的位置。在安装过程中,新文件直到InstallFiles之后的延迟/脚本操作(或InstallExecute之后的常规调度)才会出现;在卸载过程中,它们通常由RemoveFiles消失。维护可以是两者的结合。但是,缺少的exe可能会导致1721错误,而不是1722错误。

无论如何,请注意,exe自定义操作无法将有用的数据传输回Windows安装程序会话,因此,如果没有其他基于DLL的操作或系统搜索的帮助,将很难利用它在UI中找到(或创建)的任何数据。如果您还添加了一个基于dll的操作,您可能会发现从该操作启动exe (甚至将它所做的工作完全合并到dll中)更为友好,因为您可以记录比这里看到的更好的诊断信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58186481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档