JSmooth - anyone have any experience?

Hi,

Sometimes on various forums inexperienced people are crying that ‘java is bad’, ‘java’s security is a joke’ etc. There is no point to discuss with them, the best way is just to hide java from them. I don’t know if I could rename java.exe (license etc) but I can use tools like JSmooth. It have an option to launch my java app inside its own process, so no java/javaw is spawned.

The question is: do you have any experience with such solution? Is it stable? Are there any weak points?

Link to JSmooth: http://jsmooth.sourceforge.net/

bundle your jvm (you probably want for any larger app anyway, due to stability and independency from user incompetence) and rename the executable to myGame.exe :slight_smile:

3 Likes

Yes, it is obvious solution, but I’m not sure if the license allows me to rename the exe.
JVM would be bundled.

EDIT: If I rename the JVM’s exe I’ll need to write my own launcher, because Launch4j, which is tested and recommended by JME’s community, does not have option to define JVM’s exe name.
Because I’m lazy, I would like to use some existing solution.

I don’t think the license allows you to rename the executables, as it says the jre must be redistributed “complete and unmodified”.
You could pack the jvm inside a zip file, rename it in vm.dll and unpack on launch, or just leave it in plain sight and tell to people who complain that they are ignorant and help to make java great again.

I’ve not used JSmooth but we use launch4j which effectively creates us a new exe which then launches the game using the bundled JRE.

…was going to say the same thing since OP specifically mentions launch4j. At that point the JVM.exe name doesn’t seem relevant anymore.

ak better approach:

the jvm can be created via jvm.dll / jvm.so instead of the exe, I think (to remember) that even launch4j can do this, then the name in the process explorer would be the name of the launch4j exe.

This would also work without the launch4j if you write a very small cwrapper (basically the same the java.exe does, bootstrap the jvm.dll)

btw at least for linux this is kinda trivially done, maybee a similar solution does exist for windows?

basially a small preload library that changes the process name

Launch4j does not hide java.exe in process manager, JSmooth does. There are for sure many solutions, I can write small c++ launcher to do the same, but that’s not the point (it would take too much time to crawl though all docs/sources to make my own tool). JSmooth is easy to configure and is doing exactly what I need. So I’m asking, if anyone have some experience with that tool? Is it stable? Is it working on various systems/configurations?

Perhaps Process Magic works for you?

No, there is no need to use any ‘hacking’ tools, nothing that would need the admin’s privileges. Such programs may be reported by anti-virus software which would make too much ‘damage’.

I get the feeling you won’t be getting an answer to your original question very soon so why don’t you go ahead and give it a go. Heck, you can even post a link here if you want us to download test the “stability” of your runnable as well :wink:

I’m not sure if you really need to go to that great extent of hiding Java from people. Better to leave it visible and prove them wrong, show them that you’ve made a great product which runs more than fine on many platforms and that there are no performance or security issues.

2 Likes

I’ll probably just make an JSmooth’s exec launcher and give it to all my team members with order to use it every time they start the game. Just checked the java-gaming.org and there aren’t any warning about JSmooth, so I assume that I won’t have any trouble.

I don’t want to prove anything about Java, I don’t even want to discuss about it with people, who knows java only from warning messages in their browsers. It’s just a waste of time.

RPGWatch made an ‘news article’ about my game, they took two random posts from another forum, where I was talking about what we are using to develop the game. Ignoring the ‘turn based part’ in comments, I noticed that there are few posts about how Java is bad. Funny, but I just don’t want superstition to decide whether to play my game.

I read the comments in the article and I am quite sure that these poeple won’t complain as long as they don’t have to install Java manually in order to play the game. As long as they simply download an installer which produces an executable file they won’t even notice that the game is written in java.

1 Like

They complain about java one day and then happily go and play games made with unity next day. They just deserve nothing but XXL alien rectal probe applied.

1 Like

No matter what: People are going to complain about something.

2 Likes

JSmooth is old and unmaintained, it was developed in 2007, so I was looking for another option.
Found Janel - looks promising, it took me 2 minutes to launch an example java app. Later I’ll try with something based on JME.