(I'm a long time user of OmegaT. Sorry, only now getting round to contributing, and moreover, by reporting issues ...)
- Windows 10 Pro
- Java 1.8.0_121
- was installed: OmegaT 4.1.1_Beta (sans JRE)
- downloaded and ran installer for OmegaT_4.1.2_01_Beta (sans JRE)
- Issues:
- Control panel now displays both old and new versions as installed
- Start menu only displays the old version as an option. (it does start the new version though)
Ticket moved from /p/omegat/documentation/350/
This is not related to documentation. I have moved to bug reports.
Didier
So the first step to fix this would be to remove version number from the AppName installer directive (or alternatively setting AppID, though AppName still shouldn't contain version, there is AppVersion for that), so that the installer can actually see the previous install.
As for the actuall fix, there are two choices. The first is to modify the build to generate static file names for files in LIB directory, so that they don't change between versions and then use the recommended update metod for InnoSetup - install over the top with the uninstall log mode set to update. The second method doesn't require any changes to build, but would require to write some custom pascal code in the installer to uninstall the previous version and then install the new one.
Is it still the case with the new Windows installer?
The contents of
lib
is not the only thing that could change between versions; anything anywhere could change.We can probably get away with just using the
[InstallDelete]
section.Last edit: Aaron Madlon-Kay 2019-05-13
That's rare enough that it doesn't matter for InnoSetup with UninstallLogMode set to append, it will load the previous uninstall log and update it with any changes properly handling any added files/registry modifications etc while retaining the previous entries, so an uninstall will be able to properly revert any changes no matter how many updates you install. The issue with variably named files in LIB is the bloat that it would become after a few updates, the install directory would basically grow by ~130MB per update.
As for [InstallDelete] - DON'T try. It executes as the first step of install and if the installation errors out for whatever reason after that and before [Files] section is processed, you end up with broken installation (empty LIB).
Diff:
Fixed in [515492]. Note that OmegaT 4.3.0 will be the first release with the proper metadata to allow removing previous installations, so entries up to 4.2.0 will still have to be removed manually; only upgrading 4.3.0 to future versions beyond will be handled automatically.
Most of the non-trivial work required for this had to be done for [#952].
Related
Bugs:
#952Commit: [515492]
Released in 4.3.0.