It would be nice to be able to do off-line updates by using a offline only installer when product is already installed. To achieve this I consider the following work flow:
- initial installation using --create-offline-repository
- save unique upgrade code persistently (code defined in config.xml)
- detect upgrade by searching for the upgrade code
- update off-line repository, no real installation, skip normal dialogues
- run maintenance tool of already installed version in upgrade mode
Things that must be considered:
- always elevate rights to be able to save upgrade code in system scope?
if not it will not be possible to use the upgrade code when upgrade installer is executed by a different user, but per user installation should be possible as well (maybe another config.xml setting)
- detect downgrade and abort installation if necessary; this is not possible at the moment because "Version" property in config.xml does not have formatting constraints and is not comparable to another version (unlike "Version" property of package.xml), something comparable will be needed. Alternatively check versions of packages during local repository update and only copy new packages. But then Updates.xml cannot be just copied over but must be merged individually...
- current implementation of --create-offline-repository is broken (most likely due to fix for
QTIFW-564), this issue has been fixed: see QTIFW-574