Vadiraj's Blog

My experiments with Java

Announcing : Netbeans Application installer generator

Saturday Oct 20, 2007

Are you not satisfied with the zip bundle thats generated out of your module suite from Netbeans? Are you looking for an easy way of generating installers for suite projects right inside the Netbeans IDE? 

Well, here it is..a plugin based on openInstaller installer framework that does just this.  openInstaller is an extendable, cross-platform, multi-home install and customizable installer framework. All you have to do after installing the plugin is :

  1. Configure your module suite to be 'standalone'. This is required to generate an installer. The plugin will assist you in this if you have not configured your module suite project yet.
  2. Choose the Generate suite installer button on the toolbar (with CD icon). This will bring up the wizard.
  3. Enter the basic details about your application (like, name, version, system requirements and license).
  4. When you click Finish on the wizard, the plug-in will generate an installer and keeps it under 'dist' folder. There are three zip files in that folder : one module suite zip (generated by Netbeans, as before), <YOUR_APP_NAME>-binary.zip is the generated installer (you can rename this to any name you want and  <YOUR_APP_NAME>-source.zip which contains the source files for the installer. The latter can be used in upcoming openInstaller IDE to customize the generated installer.
  5. Distribute <YOUR_APP_NAME>-binary.zip bundle and unzip on the target machine and execute the launcher script specific to your platform (There's one for all *NIX and one for windows).

Download the plugin from this update center. (you need to manually configure this update center in your Netbeans IDE. If you do not know how to do this, go here. Look into the first part and use this update center link.

More information (in the form of FAQ) about the plugin is here.

You really have to see this flash demo which shows how easy is to generate an installer for your module suite application. 

Disclaimer: The module described here are purely experimental (alpha version), so no guaranties. Use at your own risk.

Below are the screenshots of the plug-in actions..

The screenshots show the process of generating installers for the FeedReader suite sample that comes with Netbeans IDE


 
 

 

 

 

 

 

 


 

Acknowledgments :

 A lot of people helped me and involved directly and indirectly on this work,. I would like to take this opportunity to thank them :

Christian my director, who supported this work, Matthew Williamson who encouraged me on this, my earlier manager Gowri Sivaprasad, my colleagues who worked with me on this : Mahesh and Nandagopal, the core framework team (Jayanth, Sandeep, Rajkumar, Karthickraj, Gustav) the core framework architect James Falkner, the lead Manpreet Singh, Radhika who carefully reviewed design documents and last but not the least, Geertjan, who was involved in this since its inception, the idea, the design, the help guide.. (ahh.. he made it every sentence sound right in that) and lot of help and guidance..

Thanks to you all.

 


[19] Comments
Like this post? del.icio.us | furl | slashdot | technorati | digg
Comments:

Vadiraj - well done. Its great to see the idea come alive.

Posted by Prabhat on October 20, 2007 at 11:33 AM IST #

Thanks Prabhat!

Posted by Vadiraj on October 20, 2007 at 11:43 AM IST #

Very grateful - well done. Excellent to have.

Is there any way to use this for a standalone application (ie. non-netbeans module)?

Posted by nick on October 20, 2007 at 12:49 PM IST #

Thanks Nick, glad that you liked it. The support for standalone non-netbeans is upcoming. Extending this to stand alone Java applications which are non-netbeans modules is not that hard.. I am looking for contributions in this area.. Interested?

Posted by Vadiraj on October 20, 2007 at 05:46 PM IST #

Vadiraj,

Excellent work all around integrating into NetBeans.. this will undoubtedly become extremely useful, can't wait to see it ship with NB 6! :)

Posted by James Falkner on October 22, 2007 at 07:22 AM IST #

Vadiraj, your installer module is great. It's a great enhancement to Netbeans.

Could you tell me where to find the config files used for creating the installer? I think there are some hard coded values like c:/Program Files/.. for the JRE that need to be changed.

Thanks.

Btw: Your math question on the bottom of this page doesn't work!
5 + 42 should be 42 again, shouldn't it? ;-)

Posted by Juergen on October 23, 2007 at 03:35 AM IST #

Fantastic. This is something the NB platform has needed for a while. Looking good!

Posted by Rich Unger on October 23, 2007 at 06:26 PM IST #

Hi James, shortly I will be putting this to the contrib area.

Hi Juergen, the config files for the installer are spread out. For JDK, the installer searches for one on the target system and presents the list of choices, if there multiple JDKs installed on the system. There's no hard coding here.
Abuot the math question during posting comments for this blog entry, you will see two different questions, if you are previewing your comment before posting, one at the time of previewing and another while actually posting the comment.

Hi Rich, Its nice to see you here. Yes I agree with that, this is needed since long time for the platform. I am working towards supporting other project types as well.

Posted by Vadiraj on October 23, 2007 at 06:53 PM IST #

Hi Vadiraj!

That's interesting because I have a german system and no jre installed (it was a fresh vm) but the installer looks for c:/program files/... To me it appears to be a default value.

And sorry about the remark concerning the math. It was a silly joke on my side. Regarding to the (once?) famous hitchhikers guide books by Douglas Adams 42 is the answer to all questions, so the result has be 42. The 42 in the question struck me and I couldn't resist ;-)

Best regards, Juergen

Posted by Juergen on October 23, 2007 at 08:17 PM IST #

Hi Juergen, Installer looks for well known locations for JDK to boot itself up. There 's small issue here. Thanks for reporting the issue, this will be addressed soon.

Posted by Vadiraj on October 23, 2007 at 10:56 PM IST #

Hi Vadiraj!

Thanks for the work that you have put in on this.

Regarding "well known class paths", on my PC I have several JRE's installed but the installer failed looking for a specific version that I don't have.

I know the openinstaller is supposed to be cross platform. Should the installer generated by your module work on the Mac too?

Posted by Peter Blemel on October 24, 2007 at 12:44 AM IST #

Hi Vadiraj, continue loving the Bernarda

Posted by Tullio on October 24, 2007 at 05:43 PM IST #

nice work vadi and team. it is great to see the tools coming to fruition. keep up the great work.

Posted by matthew williamson on October 25, 2007 at 03:57 AM IST #

Hi Peter Blemel, Can you please give me more details on to when the installer was searching for non-existent JDK? The installer looks for JDK two times, when its booting up and when it is looking for available JDK on the JDKSelection panel.

Hi Matt, thanks for your comments! It was all because your support.

Posted by Vadiraj on October 25, 2007 at 10:20 AM IST #

After the Wizard creates the zip archive, I try to run the installer from the dialog box. This results in some output in the Output window, but the installer does not launch.

So, I extract the installer-image zip and double click on the installerLauncher.

I get a dialog box saying "Welcome to TestProduct installation". I click OK. (By the way, that's not the app name I put in).

I get a new dialog with a big long text string, that unfortunately I can't select to copy. This string ends with -j "C:\Program Files\Java\jre1.6.0_02". I know this is wrong, because I only have jre1.6.0 and 1.6.0_03 installed. I click "OK" anyway (because I have no other choice).

I get a new dialog that says "C:\Program Files\Java\jre1.6.0_02 must be the root of a valid JVM installation". I don't have "02", I have "03" so this is obviously why the failure.

There is a chance that I may have once had 02, but uninstalled it and re-installed 03. I just searched through the registry, but only 03 shows up in any value.

I hope that helps.

I then get an error dialog box that says, "

Posted by Peter Blemel on October 25, 2007 at 10:51 AM IST #

You can ignore that last line ... I don't get any more errors, it just terminates.

Posted by 68.54.5.115 on October 25, 2007 at 10:54 AM IST #

Hi Peter Blemel, thanks for reporting the issue. Now I know the cause. This will be fixed soon.

Posted by Vadiraj on October 25, 2007 at 10:59 AM IST #

Hi,
Is it possible to Install openInstaller in ubuntu?
Thanks.

Posted by sahar on December 09, 2007 at 01:56 PM IST #

Hi Sahar,
openInstaller allows to create cross-platform installers. The installer created will definitely run on Ubuntu. For more information, see http://openInstaller.org.

Posted by Vadiraj on December 10, 2007 at 01:55 PM IST #

Post a Comment:
Comments are closed for this entry.