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...
Since you are already touching versioning and build system could you fix the InnoSetup installer script to NOT use version number in the "AppName" directive as it's explicitly forbidden in the InnoSetup documentation and causes the installer not to detect previous installations (intentionally or not) as it is used as "AppId" in the absence of an actuall "AppId" directive?
So, considering the above, what's the plan for Java support after September when Java 8 gets EOL and Oracle releases Java 11 and fully switches to the new release cycle of a new Java version every 6 months (with LTS version evey 3 years, but only as a paid option)?
Turn on "Insert source text"+"Allow translation to be equal to source" Do some tranlation End translating midway (ie not the whole file is translated yet) confirming your last finished segment, which sends you to the next segment and prefils it with the source Quit Omegat Now if I understood the change correctly, you now end up with with the prefiled source text treated as an actual translation, which I guess no one would want.
I'm not very happy with this, it should be an option, not hardcoded behaviour. And on a more important note than just personal prefference, how does this interact with "Insert source text"+"Allow translation to be equal to source"? It looks like a pretty big footgun.
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...
Is there any particullar technical reason why you use this homebrew system instead...
'!' is used as a marker for delayed variable expansion.