Installer for a Java Program

Hello, folks.
I've written an application that I feel is ready to show to others, and would like to provide it with an installer.
I need to check that JRE 1.4 is installed, install it if it isn't, install the application to a directory, set install/uninstall options in the control panel, and add a start menu item. (This will be a Windows-platform installer.)
Could any of you suggest a free (not demo) installer system that I could use? I've heard that there are some good ones out there, but I don't have their names and associated URL's.
thanks,
Andrew

Hello All,
This is may be bit of a tangent, but hopefully it can be helpful regardless...
     I'm looking into installer programs that are java friendly with the ability to generate a gui-based install program for multiple platforms. I went out and tried to find as many programs that match these specs (list below). Before I dive headlong into demo-sampling-mode - I was hoping folks would share any positive or negative experiences they've had with any of the apps listed below.
http://www.denova.com/ - DeNova
http://www.fawcette.com/Archives/premier/mgznarch/javapro/2000/06jun00/rv0006/rv30006.asp - InstallShield Java Edition 3.0
http://www.alphaworks.ibm.com/tech/beanbag - BeanBag
http://www.alphaworks.ibm.com/tech/installtoolkit - Install Toolkit for Java
http://www.jadcentral.com/codecentral/code_profile.jsp?category_ID=4&code_ID=112 - ITW Installer For Java Applications
http://www.zerog.com/ - InstallAnywhere (some free, some not)
http://www.gjt.org/info/design/autorad.shtml - AutoRad [GPL]
http://www.xenonsoft.demon.co.uk/products/freeinstaller/index.html - freeinstaller [Open Source]
http://www.izforge.com/izpack/ - IzPack [Open Source]
http://www.toolshed.com/download/installer/install.html - Java Self Installer [GPL]
http://liftoff.sourceforge.net/ - Lift-Off [GPL]
http://packlet.sourceforge.net/ - Packlet installer tool [Open Source, LGPL]
http://vainstall.sourceforge.net/ - VAInstall [GPL]
Comparisons:
http://www.zerog.com/products_pu_05.html
Cheers,
Enrique
cc comp.lang.java.softwaretools
cc forum.java.sun.com > Java Programming > Installer for a Java Program

Similar Messages

  • How can i create a test suite in oracle for a java program

    hi
    i have to create a table for test cases for a java program
    in that my main concentration is on branch statements
    i have problems to choose which fields should be there in my table
    plz let me know if you have nay ideas
    thnx
    regards
    [email protected]

    no idea based on the little or nothing you've posted.
    %

  • Process name representation in a LINUX machine for a JAVA program running..

    Hi,
    We are using an Intel machine loaded with Red Hat Linux 7.2 OS to run JAVA programs. We have a requirement to calculate the CPU and MEMORY usage for each JAVA program running. Unfortunately when a java program is run say "java ESR" and we run a ps -ef | grep -i java, it is shown as hkumar 2847 2799 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2874 2847 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2875 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2876 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2877 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2878 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2879 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2880 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2881 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2882 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2883 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2884 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    hkumar 2885 2874 0 19:15 pts/3 00:00:00 /usr/java/jdk1.3.1_03/bin/i386/n
    instead of the actual name of the program ie. ESR.
    Does anybody know why this happens? Is there a way out to ensure that "ps -ef | grep java" gives the actual name of the java program being RUN?
    Thanks in advance,
    Harish

    You have less chance to identify which programm that VM instance is running right now.
    But you could (as we do) keep track of your programs if you save the process-id when you start the program.
    We need this to shut down running java batch programs but you could find out the used system resources with this way as well...

  • QuickTime installation breaks all Java programs.

    There is a bug in the QuickTime installation program for Windows that causes all Java programs to fail whenever QuickTime is installed or updated. As part of the installation, QuickTime updates the system environment variable CLASSPATH to reference a Java .jar file needed by QuickTine in order to run properly. This reference is C:\Program Files\Java\jre1.6.0_01\lib\ext\QTJava.zip.
    The problem is that in Windows, any file path that contains whitespace characters must be enclosed in quotation marks. This is because on the command line, Windows interprets any whitespace character to be a parameter seperator. So when Windows tries to resolve the file path, it resolves to two seperate paths, "C:\Program" and "Files\Java\jre1.6.0_01\lib\ext\QTJava.zip". This causes all Java applications to generate the following error: java.lang.NoClassDefFoundError: Files\Java\jre1/6/0_01\lib\ext\QTJava/zip.
    The solution to this problem has been well known for years, is widely published, and is very simple to implement. Enclose the file path in quotation marks, so that the CLASSPATH entry is exactly as follows (including quotation marks) "C:\Program Files\Java\jre1.6.0_01\lib\ext\QTJava.zip". This tells Windows that everything inside the quotation marks is a single parameter, which then lets all Java applications run properly. Everytime there is a new version of QuickTime I have to field numerous complaints from co-workers that they can no longer run our Java applications. This bug has existed for at least two major release versions, 6.x and 7.x.
    Please fix this bug.
      Windows XP Pro  
      Windows XP Pro  

    A jar file does not have to be an installation program. The jar file can be your entire program neatly encased into one file. If you mess around with the manifest file, the jar file can be executed by double clicking on it.
    Example: You have a program that you execute from the command line using: java Program
    First, write a text file that has:
    Main-Class: Tagssave it as manifest.txt. Make sure to put a blank line at the end of the file. Then, on the command line, type:
    jar cvfm Prog.jar manifest.txt *.class
    Done! Double click on Prog.jar and let me know if that is what you were looking for.
    Brad

  • Ideas for new Java Program

    I'm looking for some ideas of simple java programs that I can use for a final project at school. Anyone got ideas?
    Thanks, G

    TuringPest wrote:
    Encephalopathic wrote:
    yawmark wrote:
    [Ideas for student projects|http://www.mindprod.com/projects/projects.html].
    Typo. Correct site: [http://www.mindprod.com/project/projects.html|http://www.mindprod.com/project/projects.html]
    "sanity checker" was not as cool as it sounded.
    i imagined some sort of luscher color test + response time checker psychological monitoring system.that wouldn't be nice for the kids as it would give them unexpected (to them) output when they ran it on themselves...

  • Shell script for executing java program

    i want to write a shell script which will export the classpath and compile & run the java program.
    any references from where i can get that?

    Try typing "man sh" at the command prompt.
    Ultimately it'll end up looking a lot like this:
    #!/bin/sh
    CLASSPATH=/path/to/a.jar:/path/to/anther.jar
    JAVA_HOME=/path/to/where/you/installed/java
    $JAVA_HOME/bin/java your.classes.package.YourClass

  • HELP for Compile java programe !

    Hello All,
    i want to make java programe by which i can compile java programes
    and when i compile java programe from my programe then
    i shoul get compiled status means programe compile successfuly
    or not compile.
    if any example i m thanksfull.
    onlyforjava.

    how about if compile fail?
    the process obj seems return value 0 as it run successful.
    I haven't try this, but I have experienced the process obj returns 0 if the executed command has some routine to handle error cases, in which, error will not halt the system.
    So, I recommand the following scenario.
    1. let say, if your java is test.java. check the existence of file test.class.
    If, it exists, get its modified time.
    2. compile the java code with
    Procress p = Runtime.exec(new String[]{"javac", "test.java"});
    3. get the error string if any.
    InputStream in = new BufferedInputStream(p.getInputStream());int read;while ((read = in.read()) != -1){  System.out.println((char)read);}
    4. handle error with the exitValue
    if (p.exitValue() != 0){  System.out.println("warning.");}
    5. check again the file test.class if it is a newly created file.
    6. if it is newly created, compile success. Else, failed.

  • Need kick start study guide for WAS Java Programing insfrastructure

    Hello All,
    Please provide me some study material on WAS Java programing.

    http://www.google.com
    http://help.sap.com
    While checking these resources you should also have a look at the first topic in this and every other SDN forum: Welcome and Rules of Engagement
    Message was edited by:
            Pascal Willemsen

  • How to create a batch file for a java program?

    I have a java project in JCreator and the project is organised into packages. I have also configured JCreator to provide 2 arguments to the main method when the project is executed.
    I would want to create a batch file (.bat) for this project where the batch file can automatically use the arguments set in JCreator when the program runs.
    How do I go about creating the batch file?

    where the batch file can automatically use the arguments set in JCreatorThat all depends JCreator... can you get those arguments somehow?

  • Which tool is the best one for debug java program?

    thanks for your help

    Eclipse 2.0 (www.eclipse.org) debugger can take advantage of the Java 1.4 JVM Hot Swap facility allowing you to modify your code while debugging it so you can try something, change it, try it again without having to even restart your program. Great for server-side development.
    Not a suprising facility since Eclipse is positioned by IBM as the replacement of Visual Age for Java which will not see further development. And unlike VAJ, it does not depend upon extremely tight coupling between IDE and JVM, it uses a file-based approach rather than the single workspace file mechanism of VAJ, allow it to have greater integration with many, many tools.
    Its free, open source and is supported by a consortium including IBM, BEA WebGain, Borland, Red Hat, SuSe, Rational, TogetherSoft and Object Technology. They position it as the Apache of development tools. Some of these guys obviously want to sell you their high end plugins (Rational XDE is one good example) while others seem to be best servered by making sure their own IDE's fully support Eclipse plugins (like Borland and WebGain).
    Chuck

  • Working directory for a Java program?

    I have a Swing app which uses a text file for saving/loading configuration options.
    I can load/save just fine when I launch the program from the IDE -- but when I copy the JAR file (in the DIST folder) to a given location and run it there, it seems to be using some strange directory -- certainly not the folder the .JAR is residing in.
    Any ideas?
    Matthew

       private void vLoadConfigFile() {
            FileReader fr = null;
            String strFullPath = "";
            char[] cTemp;
            boolean ynStripSepChar = false;
            try {
                strFullPath = "email.cfg";
                File ffile = new File (strFullPath);
                fr = new FileReader(ffile);
                BufferedReader bis = new BufferedReader(fr);
                cTemp = bis.readLine().toCharArray();
                cSepChar = cTemp[0];
                strSourceDirectory = bis.readLine();
            catch (java.io.IOException ex) {
                vSaveConfigFile();
            finally {
                try {
                    if (fr != null) {
                        fr.close();
                catch (java.io.IOException ex) {
        private void vSaveConfigFile() {
            FileWriter outputStream = null;
            String strFullPath = "";
            String strOutputFile = "email.cfg";
            int nIter = 0;
            Integer nTotal = 0;
            String s = "";
            try {
                strFullPath = strOutputFile;
                outputStream = new FileWriter(strFullPath);
                outputStream.write(String.valueOf(cSepChar) + "\n");
                outputStream.write(strSourceDirectory + "\n");
            catch (java.io.IOException ex) {
            finally {
                try {
                    if (outputStream != null) {
                        outputStream.close();
                catch (java.io.IOException ex) {
        }

  • Creation of a .exe file for a Java program

    hi, myself is venu.
    Can anyone help in creating a .exe file for a generated .class file.
    Thanking you in advance.
    bye

    Hello,
    There is a tool that you can download called JavaExe. It will make an executable of your java class. The class must have a main method. Just google for it and follow the instructions. I have tried it, it does work well.
    delaware_samurai

  • How to make use of a proxy for a java program

    Hi all..
    Instead of entering in command prompt
    java -Dhttp proxyHost="255.255.255.255" -Dhttp.proxyPort ="XXXX" classname
    how can we set the details in the program itself...
    Any suggetions will be greatfull...

    Dhaval.Yoganandi wrote:
    why do you think this is valueless ?Because they don't mean anything, can easily be gotten without writing good answers (cheating) and are usually rewarded by those who had the question and thus aren't in the best position to judge if an answer is a good one.

  • Using separate JVM for a java program, other than what's installed in OS

    Hello all,
    I am trying to use different version of java executable , other than using the version of java installed in the OS, in the windows.
    Is linux, I believe I have used different version of java ( I suppose using different JVM ? )
    Would there be any conflict between the version of java installed in the computer and the version of java in my program ?
    Thanks
    Kyle

    venvidu wrote:
    I see,
    So, each java executable from the separate version is its own JVM + executable java code and different java executable can be run at the same time. I don't know what you mean by that. You start a new JVM when you start java.exe or javaw.exe (on windows), and you can have several VMs running, both of same version, and of different versions.
    >
    Then, in the windows OS, is there anything in the system file which store specific information about the installed java version ?The registry has some information, but a VM doesn't need to write anything to the registry, so it all depends on how you installed the VM.
    >
    The idea is that, on top of the installed version of java, I am trying to included pre-compiled java in my program. Huh? I don't understand that.
    So that my program uses its own java version Ok
    -- most likely, the latest version Why do you think so? You can release your software today with a JRE, but that JRE might not be the latest version 1 week later.
    -- regardless of what the current windows OS has.
    I know this poses no problem in the linux OS, but is there anything in the windows OS that might potentially corrupt the above approach ?I'm not sure that I have understood exactly what you said, but I don't see any problems.
    Kaj

  • Issue with creation of a specific field for a java program.

    Hey everyone,
    This is homework which is end of chapter "challenges" to practice what we've learnt.
    The chapter covers inheritance (super class and all things related)
    I'm having quite an annoying issue with the very beginning of the instructions, where it tells me to make the following fields:
    - Employee name
    - Employee number in the format XXX-L , where each X is a digit within the range 0-9 and the L is a letter within the range A-M.
    - Hire date
    This is what I wrote for code so far
    private String name;
    //private WTF
    private String date;I really have no idea what to do for the second field, how to even constrain integers and letters in the same field with a rule for number range and letter range, and that for each character independently, for what I understand.
    Any advice with this? It's blocking me from continuing -_-, because I can't make accessors and mutators and constructors, etc, if i'm still unsure of how the fields unfold.
    Thanks in advance.

    You can create a HireDate class.
    public class HireDate{
       private final int day;
       private final String month;
       private final int year;
       public HireDate(int day, String month, int year){
          this.day = day;
          this.month = month;
          this.year = year;
    }In the HireDate Constructor you could put if statements to ensure that only correct information is present. The fields are final because the hire date will not change. Override the toString() method so that when you print it out it will be in the correct format. Create some getter methods to get the private fields.
    Then in your other class just do this
    HireDate hired = new HireDate(10, July, 1991);Now you have an object that stores all 3 fields for you. You can use the object as you like and when it prints it will be in the format you want.
    Or you could just make hireDate a String variable. That is what I always did and I never lost marks for it. The reason I suggest this way is because you mentioned rules and constraints.

Maybe you are looking for