Just a few days ago I started using Windows Vista x64 on my PC and today I found that there are serious problems running eBS forms using Jinitiator on this OS. Installation of Jinitiator 1.8.1.x fails with “Unsupported 16-Bit Application” error.

Unsupported 16-Bit Application

Unsupported 16-Bit Application

The installation of Jinitiator 1.3.1.x completes normally, but Internet Explorer crashes when I try to open eBS forms. Quick googling didn’t give me the solution for these problems, so I decided to try forcing browsers using Sun Java plugin to open eBS forms (It should be possible as it’s the way how forms open on Linux workstations). It took some time, but I found a way.

My idea was to let the pop-up page that determines the way to run the forms applet “think” we are on Linux,meaning, there will be no Jinitiator, but Sun Java plugin has to be used instead, and this is how it worked:

  • __Check the value of “s_sun_plugin_ver”</strong> parameter in the context file of Oracle e-Business Suite environment you want to run forms for. in My case it was “1.4.2_11”
  • Download the needed JRE version (1.4.2_11 in this case) from http://java.sun.com, choose “Download J2RE”, platform “Windows”, download file “j2re-1_4_2_11-windows-i586-p.exe”) and install it. I’ll refer to installation directory later using <j2se142_11>.
  • Install Firefox 2.0.0.18 to directory containing version number of JRE, e.g. “Mozilla Firefox 1.4.2_11” (in case you’ll need to have another Firefox setup for a different version of java plugin).  Installation can be found on firefox.com. I tried to use the version 3.0.3 but it crashed during loading of java plugin, so I took a previous major release.
  • Run firefox.exe from the directory you installed the browser. Enter about:config in the address bar and configure the following parameters:
    1. Create a new parameter with name “general.useragent.override” and value Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070718 Red Hat/1.5.0.12-0.3.el4 Firefox/1.5.0.12 This will make browser say to all the web pages: “Hello, I’m firefox 1.5.0 running on Linux”, and that will allow us avoid the initiation of Jinitiator.
    2. Change value of parameter “plugin.scan.SunJRE” to value “9.9” - Firefox has some mechanism of checking what’s the latest Java version installed on the system. The value we are setting means that firefox will try to find java versions equal or grater to 9.9, In aother words - we are disabling this feature because, it would make firefox use any newer version than 1.4.2_11 if such was installed.
  • Copy files <java 1.4.2_11>/jre/bin/NP*.dll to <Mozilla Firefox 1.4.2_11>/plugins/
  • Close all firefox browsers including any other versions you may have. Start the firefox by running <Mozilla Firefox 1.4.2_11>/firefox.exe and check the version of java plugin that was found by the browser by entering about:plugins in the address bar. There should be one “Java plugin” section for each NP*.dll file you copied to firefox plugins directory.
  • Log on to your e-Business Suite environment and try running forms, and keep your fingers crossed!

The good side of this setup is that it allows running eBS forms of 64-bit Windows (I tried Vista, but I guess the same would work on XP as well) and does not prevent us from having newer java versions on the same machine. The bad side - we have to use several installations of firefox - each for a different purpose and the settings of plugin.scan.SunJRE=9.9 and alike are global across of all firefox intallations on the machine, so it means if you have another browser installation for latest JRE, you have to copy the NP*.dll to the firefox plugins directory each time you upgrade the JRE.

I admit I didn’t test this process too much, so I’ll be glad if you dropped me a couple of lines in case you spot any mistakes, sideeffects or possible improvements!

And finally, here’s a little proof that it works :)

Java plugin instead of Jinitiator

Java plugin instead of Jinitiator