Menu

#878 Previous installations not removed from Windows programs list

4.3
closed-fixed
None
5
2019-07-10
2017-08-27
No

(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)
2 Attachments

Discussion

  • Didier Briel

    Didier Briel - 2017-08-28

    Ticket moved from /p/omegat/documentation/350/

     
  • Didier Briel

    Didier Briel - 2017-08-28
    • Group: www.omegat.org --> 3.6
     
  • Didier Briel

    Didier Briel - 2017-08-28

    This is not related to documentation. I have moved to bug reports.

    Didier

     
  • Didier Briel

    Didier Briel - 2017-08-28
    • summary: Old version not removed when upgrading --> Windows installer: old version not removed when upgrading
     
  • khagaroth

    khagaroth - 2017-10-30

    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.

     
  • Kos Ivantsov

    Kos Ivantsov - 2019-05-13

    Is it still the case with the new Windows installer?

     
  • Aaron Madlon-Kay

    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

    The contents of lib is not the only thing that could change between versions; anything anywhere could change.

    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.

    We can probably get away with just using the [InstallDelete] section.

     

    Last edit: Aaron Madlon-Kay 2019-05-13
    • khagaroth

      khagaroth - 2019-05-13

      The contents of lib is not the only thing that could change between versions; anything anywhere could change.

      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).

       
  • Aaron Madlon-Kay

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -5,7 +5,7 @@
     - 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)
    +    - 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)
    
     
  • Aaron Madlon-Kay

    • summary: Windows installer: old version not removed when upgrading --> Previous installations not removed from Windows programs list
    • status: open --> open-fixed
    • assigned_to: Aaron Madlon-Kay
    • Group: 3.6 --> 4.3
     
  • Aaron Madlon-Kay

    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: #952
    Commit: [515492]

  • Aaron Madlon-Kay

    • status: open-fixed --> closed-fixed
     
  • Aaron Madlon-Kay

    Released in 4.3.0.

     

Log in to post a comment.