Is generated exe files needs installed Java VM?
Yes, of course. The generated exe file is just a simple launcher like "java.exe" and "javaw.exe" with some additional features - hard coded settings (classpath, main class, etc.), tray&service support, etc.
Is generated exe files works with different from Sun's Java VM?
No, it needs the Sun's Java VM.
Then which version of Java VM is used?
Generated exe first checks whether it is located in bin directory of any Sun's Java VM. In this case the exe uses it. Otherwise it looks for default one JRE in registry and so uses default one Java.
If it doesn't found any JRE it looks for default JDK in registry. Finally it fails because no Java VM is installed.
Can I specify specific location of Java VM to be used by my exe?
Yes, there two ways to perform this. The first one is to use system environment property "J2EXE_JAVA_HOME". The other is to pass the location of Java VM as first parameter to generated exe. The format of this parameter is similar to any Java system property "-Dj2exe.java.home=location". While the first variant is globally set for all "exe" files, the second one is for specific "exe" file. Therefore it takes precedence over the first one.
What is the difference between J2Exe, J2TrayExe and J2WinService applications?
J2TrayExe makes tray applications and provides customizibles menus for them. Developer may add/remove their own menu items from java code and to be notified through a listener when user press any of them.
J2WinService makes generated "exe" files to act like normal Windows serivices. They can be installed, started/stopped and finally uninstalled. Generated services may have their own console or graphical windows though it is not recommended for Windows services to have such as.