[izpack-users] Specifying Required Packs and OSs

Hal Vaughan hal at thresholddigital.com
Mon Jan 2 20:16:22 CET 2006


On Monday 02 January 2006 05:05 am, Klaus Bartz wrote:
...
> > Actually, I will probably post my install file.  Basically, I was hoping
> > creating the install would be a one day thing.
>
> If you are firm with the design of IzPack you need less than a half hour
> for a simple installation. For complex installations the most problem will
> be to find the right pice of IzPacks features and configure in the right
> way.

I can see that.  I got some of the basic stuff set up quickly for my system.  
The problem I ran into that started this post was because I was using "Linux" 
where I should have used "Unix".  (I'm only supporting Windows 2000, Windows 
XP, and Linux, since I don't have any computers running any other OSes and 
don't have the experience yet to support them.  Since I'm supporting small 
businesses, they're using either Windows or, sometimes, Linux, and one 
company uses Mac, but I won't be able to support that until I get one of my 
own.)

> > I spent from noon one day
> > until 5 am the next reviewing packages and trying to learn enough to
> > make a
> > choice.  The next day I was focused on using IzPack, and had to either
> > finish
> > it and set it aside.  Things were not working (I suspect there are some
> > bugs
> > in the UserInput Panel and some serious bugs in the Search subclass, or
> > possibly the PathInput Panel, since it would not list default
> > directories in
> > the UserInput or JDKPath Panels in some cases).
>
> Be carefully with words like bug. For me a bug exists if there is a
> diffenrence
> between the documented and the real behavior. There is not ever a bug, if
> a program
> do not the things I think. In other words: IzPack is a "simple" program
> written
> in classic style without any "intelligence". We have never said, that our
> program
> will be able to thought-reading. See my answer to your first email to this
> list.
> Implicit I have warned you. You can have an installer developing kit for
> free, but
> not a ready installation.

Overall, IzPack looks pretty well done and I like it.  I'm just running into 
trouble with one panel (now that I see the issue of OS family vs. OS name 
more clearly).  As for bugs, I haven't submitted any reports, but here are 
some examples of issues I think are bugs (all on the UserInput Panel unless 
otherwise noted):

1) The docs say to use <space/> and <divider/> for separation of elements.  I 
couldn't get it to work and finally tried <field type="space"/> and it 
worked.  While I would not list this as a bug, for someone not familiar with 
XML (like me), the documentation is not clear on this.
2) When I created a title for the UI Panel, I used align="center" and instead 
of centering the text, it moved it so far left half of it was not visible in 
the window.
3) The drop down list for the Search object never lists any of the choices I 
specify for it -- even when I copy the example in the manual exactly.
4) When I click "Detect" for the Search object, it NEVER detects at all.  It 
either returns "Failed" immediately (and I've tried many configuration 
attempts on this), or it throws an error: java.lang.NullPointerException at 
com.izforge.izpack.panels.UserInputPanel$SearchField.autodetect(UserInputPanel.java:2646).  
I have yet to see any indication of disk activity where any searching is done 
on this.  Someone has submitted this already as a bug, but did not include 
any reference to IzPack throwing an error.
5) While the first choice with os'"linux"  (yes, I know, should be "unix", but 
this was a problem on Windows, not Linux) would show up as the default path 
in the text/dropdown component, the default path for Windows never showed up.  
(This has also previously been reported as a bug by someone else.)

I notice #5 (and, I think #4) are also a problem with the JDKPath Panel, which 
makes me think they are actually problems with the superclass.

I will be working on my install today.  I'm going to start from scratch, with 
the info you've given me, and I'll post my config file when I have problems.  
But if any of the above items are likely my inexperience (and remember, I'm 
self taught, so often there are Java concepts I should know that I never 
learned), and are likely due to something stupid I'm doing, I'd be thankful 
for being told so (actually, while I'm at it, I'm thankful for all the help 
from you so far!).

> This mailing list was intended to help users
> of our product if they have problems. May be some bugs will be detected
> during
> problem resolving. But if some one said on every problem that there is a
> bug
> in our product makes me not happy.

I have no issue with accepting that something is my fault and not a bug

> In special the JDKPathPanel docu said:
> "If JAVA_HOME points to the VM which is placed in the JDK, the directory
> will be used as default (JAVA_HOME/..)"
> and
> "Additional it is possible to make a version control. If one or both
> variables
>
> JDKPathPanel.minVersion
> JDKPathPanel.maxVersion
>
> are defined, only a JDK will be accepted which has a version in the range
> of it. The detection is a little bit pragmatically, therefor it is
> possible, that the detection can fail at some VMs."
>
> I really do not know what I should say more...
> May be you would have a full scan of all HDs, but this will be not generic.
> There are not so much people which are happy if the installer needs more
> than
> fifteen minutes to resolve a default path. The common limit will be one,
> may
> be five seconds, but not more.
> One of the big benefit of IzPack is, that you have all common sources and
> you can adapt it to your own needs. Do it. A scan algorithm will be need
> a half or two hours, I think.

I tried the JDK Panel only after having problems with the UserInput Panel.  On 
Linux, at least, it seems to work.  On Windows, though, there is no default 
path listed (again, this has been submitted by someone else as a bug).  When 
I rebuild my install, I'll be using the Search object in the UserInput Panel 
and I'll see how that works this time around.

> > It was basically getting to
> > the point where I had tried everything that seemed logical and it was not
> > working.  So I had a few hours left and was trying everything I could.  I
> > think, at this point, it is a mess.
> >
> > However, the next project I had to do was supposed to take up to 2 weeks
> > and
> > it worked out in a day, so now I have time to come back to this issue.
> > I'll
> > take what you have said into account and see if it helps.  The file
> > (below)
> > is also a help for me.
> >
> > As to my original question, I am concerned because I need to include
> > OpenOffice, which is a lot of data to download, so I don't want an
> > internet
> > install to download both Linux and Windows versions.
>
> You know, "windows" is in IzPack a symbolic name for a OS family,
> "Linux" may be a OS name, but I assume most undefined.

You're right.  I was using Linux in that paragraph because the install is only 
supported on Linux (for my program).  I realize now that is where I should 
specify the family.

> > To handle this, I think
> > I'm going to just create 2 installers, one each for Linux and Windows.
>
> No this is not for what we have created IzPack. One installer for all
> supported OS.
> You can make a net installation with separated jar files for each pack.
> If you use the OS declaration right, only the needed jars should be
> downloaded.

So if I use a net install, and each pack, even though declared required, is 
also specified by the operating system, will only be downloaded by the 
installer on that OS?  Is that correct?  So if I have a pack that is required 
and the os="windows", the Linux install will not download it?  Am I correct 
on that?

> If not (I use the net feature not), that will be really a bug.
> But I will really wonder if it do not work. The code
> Unpacker.getPackAsStream
> is very clear.

One thing I found that worked well, and I know is not what IzPack is designed 
for, was letting me install another program.  I declared all the files as a 
pack, including my own install script.  IzPack copied it over, parsing 
everything needed, then at the Process panel it ran my script, which 
installed the extra program just perfectly.

> Cheers
>
> Klaus

Thanks, again, Klaus, for your help.  Right now the toughest item I see is 
that I want to get paths for the extra 2 programs I want to install and I'm 
having problems with Search.  I'll post that on a different threat when I get 
to it in redoing the install.

Hal



More information about the izpack-users mailing list