Installation?

Im posting this on behalf of a friend. I am a Java programmer besides programming in other languages, but i have no clue how to go about distributing an app or creating an installation program. Here is what he wrote me. Any suggestions would be a great help. Thanks

It's really about deployment. My confusion is going to come out in my explanation.

I have a Java app that I'm ready to deploy. But I'm finding out that the package will be huge. I think even bigger than a VB deployment. I'm really getting disappointed now due to speed as well. What I need is a sweet API like Java, with C++'s speed and free development with free (to me) commercial distribution (that I can get paid for). Do you know of such a language?

Basically my deployment solution is to package the complete JRE executable along with my custom classes.

Remember, we have to assume that the user has no Java support. I'm deploying to Windows (and various flavors of windows may also be a concern).

I burned a cd with autorun of a dos batch file. The file runs the JRE executable, but I thought the dos "call" command was supposed to wait until the call returned before executing the next dos batch command. It does not wait.

Also, I'm trying to write my own Setup program like Install Shield. It's just that it runs slowly (since I'm using the JRE from the cd).

Let me try again:

1)CD autoruns batch file

2)Batch file runs JRE installation program

3)Wanted to run my java installation program after JRE is installed from step 2. But I don't like the fact that the first installation screen (from step 2) does not introduce my app, but instead introduces the Java JRE. So if I ran my app from an installed JRE on my CD (I don't even know if this is within the license agreement) it runs very slow (but I could display my app's welcome screen and then run the JRE install executable--but this is way slow). But dos' batch command "call" doesn't wait to return from the JRE installation before attempting to run my java app from the JRE installed on the user's pc in step 2 which should run faster than the JRE on the CD.

4)Give option to run my developed app (not the setup program which is an app in itself) and then exit my custom java setup app.

NOTE: If the dos batch file will wait for the JRE installation in step 2 to succeed and notify the batch file of success, then I'll live with this solution to proceed with step 3 but running from the newly installed JRE on the user's machine.

Also, I suppose I could develop my own Install app from a distributable C/C++ (GNU) and that could wait for valid return before continuing each install step. I guess it pisses me off that I should be able to do this rather than pay another company.

I need to read the registry to detect the version of the JRE. I don't know if Java's JRE installation handles not overwriting a newer JRE. I noticed that it creates a new folder for the version. Also, although I think I can run from the jre on my cd, I don't really know if it is really using only the cd resources because some documentation on java.exe (javaw.exe) says that the application launcher checks the registry for the location of the jre. And using the cd jre/app launcher is too slow anyway, so I want to wait until the jre is installed onto the user's machine from step 2.

If I went with the batch file approach, I'd like my setup program to "find its window" and close it when my setup app is complete. I'd need to post the "close" message to the dos shell window. I think that is the normal solution to close a dos window.

So, what is your deployment solution? This is the first time I actually have to get it working (I referred to the old post from Sun, but didn't know the JRE was that huge). I was also thinking of native methods, but they need to be recompiled (from what I understand). I was about to write Sun to ask why they can't call the dll like VB calls a C/C++ dll.

Does any of this make sense? Have you handled a deployment?

[4128 byte] By [BouncingSoul] at [2007-9-26 1:13:52]
# 1
Go to http://www.zerog.com/ and see what their solution, InstallAnywhere, is.
DrClap at 2007-6-29 0:11:49 > top of Java-index,Archived Forums,Java Programming...
# 2

Their InstallAnywhere Now! product is free and quite handy (you can specify install with or without JVM. I'm not sure about distributing a commercial product using Now! They also leave out quite a few features (to customize installation, JVM command-line arguments, etc) so that it makes you want to go buy their InstallAnywhere (full version).

Either way, it's nice and clean once you get the hang of it.

schillj at 2007-6-29 0:11:49 > top of Java-index,Archived Forums,Java Programming...
# 3
ITW installer if u want to install your Java application to windows http://17palm.hypermart.net/
gtr2 at 2007-6-29 0:11:49 > top of Java-index,Archived Forums,Java Programming...
# 4

I was just reading the User Guide for InstallAnywhere and noted the following:

"The installers that are built with an "unregistered" trial version of InstallAnywhere will expire after three days. " Which makes the installer useless, since I can't expect my user to install my software within 3 days... Can someone suggest another way to deploy my software?

eugenelin89 at 2007-6-29 0:11:49 > top of Java-index,Archived Forums,Java Programming...
# 5
Yes, but you get a free registration key with the Now! version.
geoffchiang at 2007-6-29 0:11:49 > top of Java-index,Archived Forums,Java Programming...