Roy Tang

Programmer, engineer, scientist, critic, gamer, dreamer, and kid-at-heart.

Blog Notes Photos Links Archives About

I have a working Java SWING-based desktop application, and I’m being asked if it can be run on the Microsoft Surface Pro or Pro 2. As I understand it, these are using stock Windows 8/8.1 and will be able to run any Windows app normally, is this correct?

Are there any caveats or special considerations when running my app on these devices?

Edit: If it matters, the JRE would be distributed together with the application, so installing Java isnt an issue.


… will be able to run any Windows app normally, is this correct?

You will be able to run Java programs, but only in Desktop mode after installing the JRE. Java 7 Update 10 added official support. See Java on Windows 8 FAQ.

By default, Java is not installed on the Surface Pro. There is no java.exe or javac.exe when attempting to run from the command line. You have to go to Oracle and fetch it.

I was able to install the JRE on my Surface Pro. The package was installed in C:\Program Files (x86)\Java\jre7\bin. After the install, java.exe -version worked from the command line (after fixing PATH). The install also included an IE plugin, and it appears to have worked with IE 10 from the tablet. I was also able to install the x64 JRE. I did not try to install the JDK.

There may be something offered on the Windows App Store, too. But I don’t use the store, so I don’t know.