Hi all. With the slowdown of the holidays I wanted to revisit a task that I feel like I never fully accomplished a few months ago, when I decided to fix up the GeoServer Windows installer. I had made a good stab at the new one (which installed as a service), but there were many bugs in it, ranging from problems with Vista/7, to irritating "can't Cancel"-type issues. Finally, having two different Windows installers (Console/Service) was unnecessary and confusing.
So, over the past few days, I've worked up an installer that Does It All(TM).
I know that many of the folks on here aren't on Windows, so rather than me just pasting a link [1], I'll go through the process (see attached screenshots). If you have access to a Windows box, then you can stop reading and go test.
[1] Installer built with 2.0.0a-bin:
http://atlas.openplans.org/~mike/geoserver-2.0.0a-nng.exe
[2] Artifacts used to build the above:
http://atlas.openplans.org/~mike/win-nng.zip
-------------
What goes on:
Pages 1-4
Welcome / License / Program Files / Start Menu. Nothing new here.
Page 5: JRE
The most common flub with setting a JRE is that you may actually have a JRE installed, but you don't have a %JAVA_HOME% variable set, and therefore GeoServer doesn't know what to do. This page looks for that variable, but if it doesn't find it, it looks in the registry (which is always populated) and throws that path into the field. Therefore, if you have a JRE, this will find it (and then write the %JAVA_HOME% variable accordingly). Note the real-time path verification.
Page 6: Data dir
This page checks for the existence of the %GEOSERVER_DATA_DIR% variable, and populates the path field if it's found, otherwise, it defaults to the default directory (now selectable with a radio box). You can Browse to a data dir as well, in case you have one that's not linked by an environment variable. Note again the real-time path verification.
Page 7: Creds
If using an existing data dir, you have already set this, so this page will be bypassed. If using the default data dir, this will write out a new users.properties file. Default is admin/geoserver, of course.
Page 8: Port
Not much to say here, except that invalid port values won't let you continue. Default is 8080, of course.
Page 9: Installation type
This is where the magic happens. You can install this manually (like the console installer), or you can install/register as a service, and the startup/shutdown scripts and everything else will be set accordingly.
Page 10: Verification
This outputs a summary of the previous pages.
There are other tweaks with this that will make it nicer:
* Better Add/Remove Programs integration
* Building the .EXE now requires fewer files and they can now all be in the same path
* Other things I can't think of now
If this seems overwhelming, don't worry, assuming you have a JRE on your system, you can click-Next-Next-Next-Next through the entire process.
I have tested about 15-20 possible installation permutations on Windows XP and 7. I would love any feedback you may have. I can also make a patch or commit or JIRA or set this up in some way that would make it more helpful [2]. My ultimate goal in all of this is to make it easy to get set up with GeoServer, while at the same time giving people choice in how they decide to set it up.
Whew.
[1] Installer built with 2.0.0a-bin:
http://atlas.openplans.org/~mike/geoserver-2.0.0a-nng.exe
[2] Artifacts used to build the above:
http://atlas.openplans.org/~mike/win-nng.zip
Thanks,
Mike Pumphrey
OpenGeo - http://opengeo.org
(attachments)