I really would like to test the recently promoted release of Java ME SDK 3.0 on my Windows Vista Ultimate 64-bit.
First I tried to install it using my previously installed JDK 1.6 64-bit. Installer failed to properly integrate with Vista's UAC. Then equipped with proper permissions installation succeeded. So I tried to start the app. Got a splash screen telling me to start modules. Next I saw a apparently neverending list of exceptions appearing once every 10 seconds. So I told my task manager to drop that process.
I tried to uninstall the application and had to see uninstaller failing due to not support 64-bit Windows. Great. Java=Portability???? And why didn't installer tell me about it?
Lacking opportunity to uninstall the ME SDK I decided to drop every update of JRE and my existing JDK, then ask regedit to drop any registry information on any sort of Java-related stuff. Next I dropped all left-over folders related to installations of Java or Java-bundled software. Completing this I got a fresh JDK/JRE 1.6 Update 13 32-bit and installed it to my computer without any trouble.
Next I decided to have another test of installing and running Java ME SDK 3.0 ... interesting: installer detected an existing installation (where from? all folders as well as lots of registry keys had been dropped before, even Windows' application manager didn't consider to have an existing installation anymore). The installer found new JDK installed before and finally succeeded to reinstall the app.
Well, I tried to start it after that expecting something tested and thus working now. Instead of that I got the same sequence of exceptions requiring me to ask Task Manager for help after two bothering minutes of cancelling exceptions on splash screen not showing any kind of progression anymore.
Here's my question (aside from: Who on earth started to falsely proclaim Java being platform-independent?):
How can I get rid of these problems and have that super-app running on my two and a half years old operating system?
Any support is welcome!
(PS: I admit to have very bad view on Java as a technology due to stepping from trouble to trouble for years now and so I guess no one's ever able to convince me of the contrary, so please ignore any dismissive statement on it above. And yes I'd like to see this app running so I can start developing apps for mobile phones or at least test its capabilities in comparison to the competition.)
EDIT: A few months ago I was testing some ME SDK with success. I can't remember version or included IDE. Is there any (basic) difference in using "Java ME SDK 3.0" as currently promoted on SDN from using Netbeans 6.5 supporting Java ME as well?
combination of 64 bit jdk on Vista 64 is not supported platform for java me sdk 3.0 which has been specified in release notes. I can understand your frustration about portability but pls not every product having "java" in its name is actually written in java. Java ME SDK 3.0 has many native components as you can see if you open install directory.
Java ME SDK 3.0 runs fine with 32 bit jdk on vista 64 bit, we have got positive feedback on this.
You can to get rid of installed product manually because uninstaller will fail. Remove java me sdk3.0 install directory and also <user home>/javame-sdk directory and then reinstall with pointing to 32 bit jdk when installer asks for jdk.
Or you can try to redirect your java me sdk installation to 32 bit jdk. Look for files called "java" in bin and also in toolbar/bin directory. Put there a path to 32 bit jdk. Before running the product pls remove directory <user home>/javame-sdk (it will be reinitialized)
Regarding netbeans 6.5 and javame question:
Before java me sdk 3.0 there was another product "wireless toolkit 2.5.2" which emulator is bundled with netbeans 6.5 mobility pack. Mobility pack allows cldc/midp development and will probably suit to you needs very well.
thanks for your reply. I admit to the fact that java product frequently come bundled with native libraries. I was just wondering why installer succeeded to interact with local filesystem, registry, Windows start menu, Application Manager using a GUI while uninstaller failed due to trying to load 32bit DLL in a 64bit JRE. This has nothing to do with portability.
And it doesn't explain why Java software isn't supporting 64bit Windows OS which is officially available for 30 months now.
According to your tips on using 32-bit JDK: I tried most of it before, already, as you can read above. At least installer found 32-bit JDK. I obviously missed to drop the folder in USERHOME and would give it try. However, I didn't have any 64-bit JRE installed after re-installing Java ME SDK 3.0 using a 32-bit JDK. And those Java runtime exceptions on loading modules indicate that some Java code was running ...
Regarding my frustration about Java in general this relies on long-term experiences in quite many different situations. This is just another one ... what about these: Java-Apps like Eclipse/Zend are awfully slow on parsing larger sourcecodes (e.g. mixtures of PHP/HTML/CSS/JS) in realtime causing slow/deferred reaction on typing. Updating Java in Windows frequently fails due to lacking proper interaction with Vista's UAC here. Next time it offers an update just to detect (after privilege escalation and a few dialog boxes later) that the found update isn't required. This combined with the frequent requirement to update for fixing security issues is frustrating. JDKs have recently failed to set JAVAHOME here as well so every Java-based app instantly succeeded to start. Obviously due to these problems many commercial application providers prefer to bundle their own JRE. And so there are several JREs on my discs currently, each wasting disc space and probably including security vulnerabilities not detected and fixed by any updater. On a linux server it takes lots of resources to get JSP support, e.g. on installing services like a Tomcat-based shared calendar server. ... so please don't mind, but currently there is no ground to feel happy with using Java for me.
Hi, I also used the 64 bit sdk with Java ME SDK 3.0 and I am now unable to unistall it. I tried the suggestion of editing the 2 Java files which as suggested allowed the program to work correctly however I was unable to uninstall the program. So I tried the other suggestion of removing the files and then reinstalling linking to the 32 bit SDK which again it works OK but I am unable to uninstall.
On trying to uninstall I get the error:
Cannot load native library from path: native/jmesdk/windows/windows-x86.dll
+C:\[home dir]\AppData\Local\Temp\[temp file]: Can't load IA 32-bit.dll on a AMD 64-bit platform.+
You can get more details about the issue in the installer log file:
Log file has:
+[2010-07-25 20:14:21.422]: IsProductInstalledAction executed...+
+[2010-07-25 20:14:21.422]: ...uninstallation, quiting+
+[2010-07-25 20:14:21.453]: loading sdk library+
+[2010-07-25 20:14:21.453]: library resource path: native/jmesdk/windows/windows-x86.dll+
+[2010-07-25 20:14:21.454]: library file path: <SNIP>AppData\Local\Temp\nbi-611817385067150493.tmp+
+[2010-07-25 20:14:21.459]: Cannot load native library from path: native/jmesdk/windows/windows-x86.dll+
+[2010-07-25 20:14:21.460]: java.lang.UnsatisfiedLinkError: <SNIP>\AppData\Local\Temp\nbi-611817385067150493.tmp: Can't load IA 32-bit .dll on a AMD 64-bit platform+
+[2010-07-25 20:14:21.460]: at java.lang.ClassLoader$NativeLibrary.load(Native Method)+
+[2010-07-25 20:14:21.460]: at java.lang.ClassLoader.loadLibrary0(Unknown Source)+
+[2010-07-25 20:14:21.460]: at java.lang.ClassLoader.loadLibrary(Unknown Source)+
+[2010-07-25 20:14:21.460]: at java.lang.Runtime.load0(Unknown Source)+
+[2010-07-25 20:14:21.460]: at java.lang.System.load(Unknown Source)+
+[2010-07-25 20:14:21.460]: at org.netbeans.installer.utils.system.j2mesdk.SDKExtraUtils.loadNativeLibrary(SDKExtraUtils.java:128)+
+[2010-07-25 20:14:21.461]: at org.netbeans.installer.utils.system.j2mesdk.SDKExtraUtils.<clinit>(SDKExtraUtils.java:42)+
+[2010-07-25 20:14:21.461]: at com.sun.cdc.installer.JMESDKConfigurationLogic.getUninstallWizardComponents(JMESDKConfigurationLogic.java:368)+
+[2010-07-25 20:14:21.461]: at org.netbeans.installer.wizard.components.sequences.ProductWizardUninstallSequence.canExecuteForward(ProductWizardUninstallSequence.java:115)+
+[2010-07-25 20:14:21.461]: at org.netbeans.installer.wizard.Wizard.getNext(Wizard.java:893)+
+[2010-07-25 20:14:21.461]: at org.netbeans.installer.wizard.Wizard.next(Wizard.java:593)+
+[2010-07-25 20:14:21.461]: at org.netbeans.installer.wizard.components.WizardSequence.executeForward(WizardSequence.java:84)+
+[2010-07-25 20:14:21.461]: at org.netbeans.installer.wizard.components.sequences.MainSequence.executeForward(MainSequence.java:138)+
+[2010-07-25 20:14:21.461]: at org.netbeans.installer.wizard.Wizard.next(Wizard.java:610)+
+[2010-07-25 20:14:21.461]: at org.netbeans.installer.wizard.components.WizardAction$1.run(WizardAction.java:124)+
+[2010-07-25 20:14:21.462]: ... show message dialog+
+[2010-07-25 20:14:21.462]: title: Critical Error+
+[2010-07-25 20:14:21.462]: message: Cannot load native library from path: native/jmesdk/windows/windows-x86.dll+
+[2010-07-25 20:14:21.463]: Exception:+
+[2010-07-25 20:14:21.463]: java.lang.UnsatisfiedLinkError:+
+[2010-07-25 20:14:21.463]: <SNIP>AppData\Local\Temp\nbi-611817385067150493.tmp: Can't load IA 32-bit .dll on a AMD 64-bit platform+
+[2010-07-25 20:14:21.463]: You can get more details about the issue in the installer log file:+
+[2010-07-25 20:14:21.463]: <SNIP>.javame-sdk\log\20100725201416.log+