0

InstallAnywhere is quitting periodically in my automated regression tests because it thinks another install is running.

Can I prevent this check somehow?

Thanks -td

tdugan
  • 121
  • 8

1 Answers1

0

This is tricky to answer, because the simple answer is "yes, you can prevent that check." However, that's probably not the right answer.

The simple answer is to go to Project > Info > Multiple Launch Settings, and uncheck Prevent multiple launches of an installer at a given time.

However, your post begs the larger two-part question of "Why are there still instances of IA hanging around from the last test run, and, do I really care?"

If you don't care and only want them dead before you start a new run, then refer to any of the fine answers here (Linux), here (Linux) or here (Windows) on SO about how to kill a running process. Add a step at the top of your tests that hunts down and kills any lingering InstallAnywhere instances.

If you do care (and now we come to the right answer), then check the logs that get created during the installation in the $TMP (or %TEMP%) directory to see what's up.

Also, in the project, you can make the installer more verbose by adding:

-Dlax.debug.all=true -Dlax.debug.level=3

(or 4 or 5 for more detail) to Project > JVM Settings > Installer Settings (tab) > Optional Installer Arguments > Additional Arguments. You'll want to remove these before you ship. You can also add these to the command line when you start the installer.

You can also make your installer print its progress to the console by going to Project > JVM Settings > Log Settings. Here, uncheck Include debug output (stderr and stdout). Then enter the word console in Send stderr to: and Send stdout to:. Rather than console, you can also set a specific file name. You'll also want to undo these settings before you ship.

All of this should give you plenty of information to find and solve the root problem: why your InstallAnywhere executions aren't terminating.

Community
  • 1
  • 1
tdfunk
  • 71
  • 4