cryptomator / cryptomator-win

Cryptomator .exe installer for Windows
GNU General Public License v3.0
21 stars 12 forks source link

Updating Cryptomator leads to duplicate entries in "Programs and features" #1

Closed tobihagemann closed 7 years ago

tobihagemann commented 8 years ago

Collection of infos:

overheadhunter commented 7 years ago

Can no longer reproduce this. After creating the installer, the iss file contains the entry AppId={{Cryptomator}}. This has never changed, so InnoSetup should consider both apps the same. However I don't understand the meaning of the curly brackets here...

overheadhunter commented 7 years ago

@RiseT Can you attach a screenshot of this behaviour? I am not sure, if the application name did contain the version in the past...

RiseT commented 7 years ago

I unfortunately can't. I've switched my last system to Windows 10 last week, and - as far as I remember - I've only been experiencing this issue on Win 7. I have no virtual machine at hand right now as I'm still in the process of setting up this new system (completely new hardware).

But if I remember this correctly, the application name did not contain the version back then. There were just two entries named "Cryptomator". I'm pretty sure about this.

RiseT commented 7 years ago

Dunno if this is helpful:

http://www.jrsoftware.org/iskb.php?updateinstall

"3. The update should not create a new entry in the Add/Remove Programs list, or alter the original application's entry. Nor should the application name displayed by the uninstaller change." [...] "3 may be achieved by setting CreateUninstallRegKey=no and UpdateUninstallLogAppName=no"

overheadhunter commented 7 years ago

Setting CreateUninstallRegKey to no doesn't seem right:

Setting this to no can be useful if your installation is merely an update to an existing application and you don't want another entry created

I've been testing with Win 10, too. No problems there. But I can remember to have seen the behavior described in this issue's title. Might affect only Win 7...

RiseT commented 7 years ago

My understanding is that you only should set this to "no" if you're doing an update install (i. e. if a prior version of the app is already installed):

http://www.jrsoftware.org/ishelp/topic_setup_createuninstallregkey.htm

Yes - very likely this only affects Win 7 (and possibly below).

overheadhunter commented 7 years ago

My understanding is that you only should set this to "no" if you're doing an update install (i. e. if a prior version of the app is already installed)

But our download section doesn't say "if you're already using Cryptomator, please download installer X, otherwise choose installer Y" 😉 We need a one-size-fits-all solution.

RiseT commented 7 years ago

Of course. What I meant it that the installer script could check if there's already a prior version installed and if this is the case, it could set CreateUninstallRegKey to "no" (I know nothing about setup scripts, so don't know if this is possible).

Or the installer could simply uninstall a detected installed version prior to installing the new one (this should be possible - I've often seen that behavior in installers). There seem to be some directives that refer to prior installations, e. g. UsePreviousSetupType.

overheadhunter commented 7 years ago

Don't know much about InnoSetup configuration either. This is the file in question. Doesn't look too powerful, merely a few key/value pairs...

RiseT commented 7 years ago

Mh. I've looked this stuff up and you're right - this seems to solely depend on the AppId.

For what it's worth and for reference, I've found a Pascal script for the code section of the setup script for uninstalling an old version prior to installing the new version. But it doesn't look like this is really necessary in this case.

overheadhunter commented 7 years ago

Closing for now. AppId has been constant for several versions and this issue has not been reproducable for us. Anyone still experiencing problems with modern versions of the installer may reopen this.