使用 InstallAnywhere 2009 SP2(版本 10.0(,在安装过程中,它会在Install
阶段开始时挂起,并在调试控制台窗口中显示以下 NullPointerException (NPE(:
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*..)
尽管安装挂起,但用户可以通过点击Cancel
按钮完全停止安装。
原因:
此问题是在Pre Install
阶段通过尝试设置名为 $CHOSEN_INSTALL_SET$
的变量引起的,该变量显然是保留的 IA 系统变量。
尽管尝试设置 $CHOSEN_INSTALL_SET$
的值实际上并没有改变其值,但它确实触发了下面显示的其他JAVA_
系统变量的更改。
尝试设置$CHOSEN_安装_SET$ 之前的变量
JAVA_DOT_HOME=$USER_INSTALL_DIR$$/$jre
JAVA_EXECUTABLE=C:Program FilesCNMS-NGjrebinjava.exe
JAVA_HOME=C:Program FilesCNMS-NGjre
尝试设置$CHOSEN_安装_SET$ 后的变量
JAVA_DOT_HOME=C:UsersusernameAppDataLocalTempI1486584916Windowsresourcejre
JAVA_EXECUTABLE=
JAVA_HOME=C:UsersusernameAppDataLocalTempI1486584916Windowsresourcejre
分辨率:
不要尝试手动设置变量$CHOSEN_INSTALL_SET$
的值...如果你这样做,坏事就会发生!!