In-place updates (also called integer update or side-by-side update) is one of ThinApp’s strongest features when it comes to deploy updates to a package in full production with zero downtime (more details on different update mechanism can be found here).
During an In-Place update discussion with Steven Storrs @ Atos came we up with the following scenario I never had thought about before.. Let me explain it with a step by step demonstration..We’ll use my favorite packaged software, Mozilla Firefox for demonstration purposes..
Picture 1. You have your Mozilla Firefox package placed on a networks share and your users are streaming it to their desktops. Firefox version 3.5.2 is in use.
Picture 2. Since you only have one single instance of Mozilla Firefox.exe in your whole environment is it an easy task to replace this file to immediately update all your users.. If the file is in use can we not replace the file because it is locked by users using it. That's when we will use our In-Place update mechanism, place the new version next to the original one but change the file extension to a number.. In this case number one. Firefox version 3.5.9 is now the active one.
Picture 3. Above example is all known to most of you and nothing to write home about.. But what happens if you want to indicate the version of your package on the network share? Sure, add the version number as the extension. Firefox version 3.5.9 is still the one used.
Picture 4. But what happens if there is an issue with the new version and you must immediately revert to the old version of Mozilla Firefox? One way of solving this is to add one more extension while still keeping the version identifier correct. In order for this to work must your first update also include the extra extension (one extension indicating the application version and one being the In-Place order identifier). Firefox version 3.5.2 is now again the active one.