Changing the way that QW is installed, upgraded and runs has been on my to do list for a while now. Specifically the following issues have been cropping up and it’s time they were fixed (spoiler warning, they are in version 2.5.3):
- Having users download and maintain their Java installation. I’m a strong proponent of “your machine, your choice” but with 20/20 hindsight it’s clear that my desire for the end user to manage their own Java installation was a mistake. It causes a number of issues, not least sometimes preventing QW from running because the version is out to date. Future versions of QW will have its own version of Java embedded in it cutting out a plethora of issues.
- Installation permissions, sometimes Windows gets finicky about permissions and install locations. Future versions shouldn’t have this problem, although I can’t guarantee it.
- Upgrades will be simpler. Future versions will use a single installer for initial installations and for the upgrades. This ensures that the Java version QW is using is always correct and that the files QW needs are always present and not in conflict with one another. At the moment the upgrade process has to keep track of what files are no longer needed and remove them when it upgrades. It’s all very messy and painful. The new installer will remove the old installation first to ensure that things are in sync.
- Anti-virus false positives. Every time I release a new version of QW I have to spend a substantial amount of time contacting anti-virus companies to get them to remove the false positive malware mark they impose on the QW installer. This is, I believe, because the current installer contains a .exe file that will download Java for you. The new installer doesn’t have the .exe file so hopefully it won’t be marked as malware.
Now these benefits aren’t without a cost, which is that the size of the install/upgrade file will grow substantially due to the inclusion of Java. The current new file is about 63MB in size which is about 25MB bigger than the current installer and about 45MB bigger than the upgrade file. There are also a couple of extra clicks required from you to complete the upgrade. So there is a cost for you the end user (probably in time more than bandwidth) but the bigger cost is for me, I’m not entirely sure how much more this will cost in download allowance from Amazon, time will tell.
My thanks also go out to EJ Technologies who have very kindly given me a free license (since QW is open source) for their excellent install4j multi-platform installer builder which I’m now using to create the installers. As the name says they also support Linux and Mac so once I’m happy that QW runs on those platforms I should be able to create native installers for them as well.