[Geoserver-devel] (New) New Windows Installer

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). :slight_smile:

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. :slight_smile:

[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. :slight_smile:

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. :slight_smile:

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. :slight_smile:

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)

p10.png
p5.png
p6.png
p7.png
p8.png
p9.png

BTW, I have created a JIRA for this that contains a svn diff/patch. Thoughts welcome!

http://jira.codehaus.org/browse/GEOS-3742

Happy Holidays and all that... :slight_smile:

Thanks,
Mike Pumphrey
OpenGeo - http://opengeo.org

Mike Pumphrey wrote:

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). :slight_smile:

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. :slight_smile:

[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. :slight_smile:

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. :slight_smile:

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. :slight_smile:

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

------------------------------------------------------------------------

------------------------------------------------------------------------

------------------------------------------------------------------------

------------------------------------------------------------------------

------------------------------------------------------------------------

------------------------------------------------------------------------

------------------------------------------------------------------------

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev

------------------------------------------------------------------------

_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Mike Pumphrey ha scritto:

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). :slight_smile:

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. :slight_smile:

[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

Hi Mike,
tried it out on XP, changed a few params during the install, and it
seems to be working all right for me, both service and manual start.
The only glitch I could find was that on uninstall it complained, after
stopping the service, that it was not possible to delete all files from
the "c:\program files\geoserver 2.0.0" directory.

Also checked on my wife's notebook using CrapOS (ah hem... Vista) and
it worked fine there too, with the same final warning ("some files and
folders could not be removed from ...").

Nice work!

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Andrea Aime ha scritto:

Also checked on my wife's notebook using CrapOS (ah hem... Vista) and
it worked fine there too, with the same final warning ("some files and
folders could not be removed from ...").

Oh, which are the files that could not be removed?

On XP it's wrapper/lib, in particular wrapper.dll and wrapper.jar.

On Vista there is the above one, but also v7.1.0, which contains the
EPSG database shipping with GS 2.0.
Now, how that ended up being there I don't know (even assuming
the temp directory is set to the program own directory, it should
have been in a GeoTools subfolder...)

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Hi Andrea. Thanks so much for the feedback!

My guess would be that GeoServer wasn't successfully stopped when you tried to uninstall, but I'm not sure why. Usually when the wrapper files are unable to be deleted, it's because the service was started (you can't delete a file that's being used). I'll look into it. Did it ever uninstall completely? (Also, if I recall right, your browser needs to be closed, or just not on the web admin pages.)

Do I have permission to commit this, or should I wait for others to chime in? Once I commit, I'll edit the download template and the release guide (and file a JIRA for the above issue).

Thanks,
Mike Pumphrey
OpenGeo - http://opengeo.org

Andrea Aime wrote:

Mike Pumphrey ha scritto:

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). :slight_smile:

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. :slight_smile:

[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

Hi Mike,
tried it out on XP, changed a few params during the install, and it
seems to be working all right for me, both service and manual start.
The only glitch I could find was that on uninstall it complained, after
stopping the service, that it was not possible to delete all files from
the "c:\program files\geoserver 2.0.0" directory.

Also checked on my wife's notebook using CrapOS (ah hem... Vista) and
it worked fine there too, with the same final warning ("some files and
folders could not be removed from ...").

Nice work!

Cheers
Andrea

Mike Pumphrey ha scritto:

Hi Andrea. Thanks so much for the feedback!

My guess would be that GeoServer wasn't successfully stopped when you tried to uninstall, but I'm not sure why. Usually when the wrapper files are unable to be deleted, it's because the service was started (you can't delete a file that's being used). I'll look into it. Did it ever uninstall completely? (Also, if I recall right, your browser needs to be closed, or just not on the web admin pages.)

The installer complete successfully after showing that error message.
I did not check if GS was still running but considering it had been
wiped out from the disk, container included, I have some doubts it
was still there (the container, if still alive, would have certainly
un-deployed it when the directory is removed).

Also, I'm pretty certain that a browser window can't do anything to keep
GeoServer up, but feel free to prove me wrong, I'll learn something
new in the process.

Do I have permission to commit this, or should I wait for others to chime in? Once I commit, I'll edit the download template and the release guide (and file a JIRA for the above issue).

I guess you can commit it? You're the only one that has been working
on the installer since months anyways.

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

I guess you can commit it? You're the only one that has been working
on the installer since months anyways.

Okay, great. Just to get confirmation, I would like to replace the two existing installers with this one. (The console installer that Cholmes built a few years back, and the service installer that I did a few months ago.) This covers all of the ground that the other two covered anyway, but I'm just making sure. I'll commit on trunk and 2.0.x (what about 1.7.x?).

Hey, one less (fewer?) step in the release process! :slight_smile:

Thanks,
Mike Pumphrey
OpenGeo - http://opengeo.org

Andrea Aime wrote:

Mike Pumphrey ha scritto:

Hi Andrea. Thanks so much for the feedback!

My guess would be that GeoServer wasn't successfully stopped when you tried to uninstall, but I'm not sure why. Usually when the wrapper files are unable to be deleted, it's because the service was started (you can't delete a file that's being used). I'll look into it. Did it ever uninstall completely? (Also, if I recall right, your browser needs to be closed, or just not on the web admin pages.)

The installer complete successfully after showing that error message.
I did not check if GS was still running but considering it had been
wiped out from the disk, container included, I have some doubts it
was still there (the container, if still alive, would have certainly
un-deployed it when the directory is removed).

Also, I'm pretty certain that a browser window can't do anything to keep
GeoServer up, but feel free to prove me wrong, I'll learn something
new in the process.

Do I have permission to commit this, or should I wait for others to chime in? Once I commit, I'll edit the download template and the release guide (and file a JIRA for the above issue).

I guess you can commit it? You're the only one that has been working
on the installer since months anyways.

Cheers
Andrea

For the record, this has all been done. I didn't commit on 1.7.x, but I can if we'd like.

Looking forward to 2.0.1 even more now!

Thanks,
Mike Pumphrey
OpenGeo - http://opengeo.org

Mike Pumphrey wrote:

I guess you can commit it? You're the only one that has been working
on the installer since months anyways.

Okay, great. Just to get confirmation, I would like to replace the two existing installers with this one. (The console installer that Cholmes built a few years back, and the service installer that I did a few months ago.) This covers all of the ground that the other two covered anyway, but I'm just making sure. I'll commit on trunk and 2.0.x (what about 1.7.x?).

Hey, one less (fewer?) step in the release process! :slight_smile:

Thanks,
Mike Pumphrey
OpenGeo - http://opengeo.org

Andrea Aime wrote:

Mike Pumphrey ha scritto:

Hi Andrea. Thanks so much for the feedback!

My guess would be that GeoServer wasn't successfully stopped when you tried to uninstall, but I'm not sure why. Usually when the wrapper files are unable to be deleted, it's because the service was started (you can't delete a file that's being used). I'll look into it. Did it ever uninstall completely? (Also, if I recall right, your browser needs to be closed, or just not on the web admin pages.)

The installer complete successfully after showing that error message.
I did not check if GS was still running but considering it had been
wiped out from the disk, container included, I have some doubts it
was still there (the container, if still alive, would have certainly
un-deployed it when the directory is removed).

Also, I'm pretty certain that a browser window can't do anything to keep
GeoServer up, but feel free to prove me wrong, I'll learn something
new in the process.

Do I have permission to commit this, or should I wait for others to chime in? Once I commit, I'll edit the download template and the release guide (and file a JIRA for the above issue).

I guess you can commit it? You're the only one that has been working
on the installer since months anyways.

Cheers
Andrea

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev _______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel