Search code examples
installanywhere

InstallAnywhere 2009 hangs with NullPointerException at com.zerog.ia.installer.InstallBundle.shouldRegister(DashoA10*..)


Using InstallAnywhere 2009 SP2 (version 10.0), during installation it hangs at the beginning of the Install phase and displays the following NullPointerException (NPE) in the debug console window:

InstallAnywhere 2009
Version: 10.0
__________________________________________________________________________

...

java.lang.NullPointerException
    at com.zerog.ia.installer.InstallBundle.shouldRegister(DashoA10*..)
    at ZeroGbu.a(DashoA10*..)
    at ZeroGbu.a(DashoA10*..)
    at ZeroGbu.b(DashoA10*..)
    at ZeroGbu.a(DashoA10*..)
    at com.zerog.ia.installer.IAStatusLog.setInstallWasStarted(DashoA10*..)
    at com.zerog.ia.installer.Installer.install(DashoA10*..)
    at com.zerog.ia.installer.actions.InstallProgressAction.n(DashoA10*..)
    at com.zerog.ia.installer.actions.ProgressPanelAction$1.run(DashoA10*..)

Although installation hangs, the user is able to cleanly stop installation by hitting Cancel button.


Solution

  • CAUSE:

    This issue was caused during the Pre Install phase by attempting to set a variable named: $CHOSEN_INSTALL_SET$, which is apparently a reserved IA system variable.

    Although attempting to set the value of $CHOSEN_INSTALL_SET$ does not actually change its value, it did trigger a change in other JAVA_ system variables shown below.

    Variables BEFORE attempted set of $CHOSEN_INSTALL_SET$

    JAVA_DOT_HOME=$USER_INSTALL_DIR$$/$jre
    JAVA_EXECUTABLE=C:\Program Files\CNMS-NG\jre\bin\java.exe
    JAVA_HOME=C:\Program Files\CNMS-NG\jre
    

    Variables AFTER attempted set of $CHOSEN_INSTALL_SET$

    JAVA_DOT_HOME=C:\Users\username\AppData\Local\Temp\I1486584916\Windows\resource\jre
    JAVA_EXECUTABLE=
    JAVA_HOME=C:\Users\username\AppData\Local\Temp\I1486584916\Windows\resource\jre
    

    RESOLUTION:

    Do NOT attempt to manually set a value for variable $CHOSEN_INSTALL_SET$ ...bad things will happen if you do!!