cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
davbrown2
Level 4

Jre 1.7

Has anyone been able to run an ISMP installer with JRE 1.7?

We have several existing legacy products that do not include a bundled JRE - we expect the end user to have Java installed.

But if the JRE is 1.7, I get the following error before the GUI launches:

The wizard cannot continue because of the following error:
could not load wizard specified in /wizard.inf (104)

I imagine the workaround would be to start bundling a 1.6 or earlier JRE with these products, but I was wondering if anyone else has encountered this.
Labels (1)
0 Kudos
(3) Replies
rmackay
Level 7

Isn't it great that Flexera doesn't care about legacy product users? No responses. Very frustrating.

I am also seeing the same issue trying to get the installer to run against JRE 1.7. There should be no reason for it not to run but it does not. What can be changed to fix this?
0 Kudos
rmackay
Level 7

In case anyone cares, I discovered why this is happening.

There is an exception thrown by the engine:

com.jxml.quick.QPE; lineNumber: 0; columnNumber: 0; java.lang.ClassNotFoundException: sun.beans.editors.BoolEditor
at com.jxml.quick.QContext.throwPE(Unknown Source)
at com.jxml.quick.QContext.forName(Unknown Source)
at com.jxml.quick.tf.QPropertyEditor.setPropertyEditorClassName(Unknown Source)
at com.jxml.quick.access.QPEClassAccess.add(Unknown Source)
at com.jxml.quick.tf.QStringTF.add(Unknown Source)
at com.jxml.quick.engine.QElementFactory$QElement$EState.processEnd(Unknown Source)
at com.jxml.quick.engine.QCMFactory$QCM.endElement(Unknown Source)
at com.jxml.quick.engine.QContextImpl.endElement(Unknown Source)
at com.jxml.quick.QConvert.startElement(Unknown Source)
at com.jxml.quick.cvt.CTargetEditor.cvt(Unknown Source)
at com.jxml.quick.cvt.CAttribute.cvt(Unknown Source)
at com.jxml.quick.cvt.CElement.cvt(Unknown Source)
at com.jxml.quick.cvt.CChild.cvt(Unknown Source)
at com.jxml.quick.cvt.CElement.cvt(Unknown Source)
at com.jxml.quick.cvt.CQuick.cvt(Unknown Source)
at com.jxml.quick.cvt.CRootBase.eval(Unknown Source)
at com.jxml.quick.Quick.convert(Unknown Source)
at com.jxml.quick.engine.QCMLBindings.getQmlDoc(Unknown Source)
at com.jxml.quick.engine.QCMLBindings.createSchemaContext(Unknown Source)
at com.jxml.quick.engine.QCMLBindings.parseSchema(Unknown Source)
at com.jxml.quick.Quick.parseSchema(Unknown Source)
at com.jxml.quick.Quick.parseSchema(Unknown Source)
at com.installshield.qjml.QJML.getSchemaDoc(Unknown Source)
at com.installshield.qjml.QJML.read(Unknown Source)
at com.installshield.qjml.QJML.read(Unknown Source)
at com.installshield.wizard.WizardLoader.load(Unknown Source)
at com.installshield.wizard.Wizard.loadWizard(Wizard.java:429)
at com.installshield.wizard.Wizard.startup(Wizard.java:207)
at com.installshield.boot.BootMain.boot(Unknown Source)
at run.main(Unknown Source)
QJMLException: (error code = 3002; message="java.lang.ClassNotFoundException: sun.beans.editors.BoolEditor")
at com.installshield.qjml.QJML.read(Unknown Source)
at com.installshield.qjml.QJML.read(Unknown Source)
at com.installshield.wizard.WizardLoader.load(Unknown Source)
at com.installshield.wizard.Wizard.loadWizard(Wizard.java:429)
at com.installshield.wizard.Wizard.startup(Wizard.java:207)
at com.installshield.boot.BootMain.boot(Unknown Source)
at run.main(Unknown Source)


The cause of this exception is because in Java 1.7, the BoolEditor class is now called BooleanEditor. You can see this in the rt.jar file of the JRE.
0 Kudos
rmackay
Level 7

Here is why the InstallShield engine will not work with Java 1.7.

When running the launcher against a java debugger, we get this exception:

com.jxml.quick.QPE; lineNumber: 0; columnNumber: 0; java.lang.ClassNotFoundException: sun.beans.editors.BoolEditor

Taking a look at the differences between Java 1.6 and 1.7, we can see that the above class is now:

sun.beans.editors.BooleanEditor

The class has been renamed. This also applies to sun.beans.editors.IntEditor, which is now sun.beans.editors.IntegerEditor

I am not sure how many other similar problems exist since InstallShield stops at the first exception.

For reference, Oracle has stated that developers should not be relying on sun.* packages in their code as the above is what can happen.

http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html
0 Kudos