Looking for alternative to Web Start
After a couple years of using Java Web Start to deploy our educational software to schools, we're starting to realize that we need a new deployment strategy. Java Web start doesn't work for a host of reasons, some of which are outlined below.
Here's the kind of deployment we're looking for:
1. All files should be kept in OS-standard locations for applications, such as Program Files for Windows and Applications for Macs. Deployment of this program should be no harder for admins than for any other application. That means nothing in the User home folder.
2. Can be installed directly from a CD or USB stick
3. Can be easily updated as new versions are rolled out (i.e. can download the new jars from our servers), hopefully with some kind of jar-differencing.
Does anyone know anything off the shelf that works like this?
Here are the problems with what we have now:
1. Web Start deploys jars (by default) into Users' home folders. This causes the following problems:
1a. Every user on the computer has to install the program individually.
1b. System administrators don't have any tools or patters for large-scale deployment of programs into user's home folders.
1c. Users may have limited space on their home folders.
1d. Users' home folders may be on networked drives, meaning that all the jars need to be fetched over the network every time they run.
1e. Users' home folders may be regularly cleaned.
2. Although Web Start's cache folder can be changed, users may not have write access to those locations, so Web Start will not function for those users if they need to download new jars. While this may be ok for our software alone, it will break any other Web Start application. Web Start cannot have different caches for different applications.
2b. Also, administrators don't have standard ways to deploy to random cache directories on computers.
3. There is no easy way to install Web Start applications from CDs. Jar files have to go into the right folders as if they were being downloaded from a server. We have a way of doing this by starting up a Jetty server, but it is not very robust.
...however, we still want the ease of Web Start's updating. We want to be able to push out new versions, which admins could update and deploy to their schools the way they do for all other applications, and we also want to support rapid-release cycles for our researchers and people working on the cutting edge of our software. Preferably this would need to involve some kind of jar-differencing, as users should only have to download the smallest subset necessary.
I'm sure we could write this ourselves, but I imagine we aren't the first people to have these kinds of requirements and problems with Web Start. Has anything been written that seems to approach what we want?