InstallAnywhere 在我的自动回归测试中定期退出,因为它认为另一个安装正在运行。
我可以以某种方式阻止此检查吗?
谢谢-td
这很难回答,因为简单的答案是“是的,您可以阻止该检查”。但是,这可能不是正确的答案。
简单的答案是去Project > Info > Multiple Launch Settings
,并取消选中Prevent multiple launches of an installer at a given time.
但是,您的帖子提出了更大的两部分问题:“为什么上次测试运行后仍然存在 IA 实例,而且,我真的在乎吗?”
如果您不关心并且只希望它们在开始新运行之前死掉,那么请参考此处(Linux)、 此处(Linux) 或此处(Windows) 关于如何杀死正在运行的进程的任何好的答案。在您的测试顶部添加一个步骤,以寻找并杀死任何挥之不去的 InstallAnywhere 实例。
如果您确实关心(现在我们得到了正确答案),请检查安装期间在 $TMP(或 %TEMP%)目录中创建的日志以查看发生了什么。
此外,在项目中,您可以通过添加以下内容使安装程序更加详细:
-Dlax.debug.all=true -Dlax.debug.level=3
(或 4 或 5 以获得更多详细信息)到Project > JVM Settings > Installer Settings (tab) > Optional Installer Arguments > Additional Arguments
. 您需要在发货前删除这些内容。您还可以在启动安装程序时将这些添加到命令行。
您还可以通过转到 让您的安装程序将其进度打印到控制台Project > JVM Settings > Log Settings
。在这里,取消选中Include debug output (stderr and stdout)
。然后在和中输入console这个词。除了控制台,您还可以设置特定的文件名。您还需要在发货前撤消这些设置。Send stderr to:
Send stdout to:
所有这些都应该为您提供大量信息来查找和解决根本问题:为什么您的 InstallAnywhere 执行没有终止。