Bug 468597

Summary: digikam 8.0.0 installer attempts to create a start menu folder with 7.9.0 version numbering
Product: [Applications] digikam Reporter: Ilgaz Öcal <ilgaz>
Component: Bundle-WindowsAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, ilgaz, metzpinguin
Priority: NOR    
Version: 8.1.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In: 8.2.0
Sentry Crash Report:
Attachments: screenshot showing installer attempting to create a folder with 7.9.0 version numbering
Actual Digikam 7.10.0 folder in Windows 10 start menu

Description Ilgaz Öcal 2023-04-17 06:03:06 UTC
Created attachment 158158 [details]
screenshot showing installer attempting to create a folder with 7.9.0 version numbering

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Launch Digikam 8.0 installer on a Windows System while having 7.9.0 installed
2. Accept the license and accept the prompt of uninstalling 7.9.x first
3. Continue with the installation

OBSERVED RESULT

Digikam installer prompts to create a start menu shortcuts folder with digiKam 7.9.0 version numbering

EXPECTED RESULT

Digikam should have created a start menu shortcuts folder with 8.0.0 version numbering.

SOFTWARE/OS VERSIONS
Windows: 22H2 19045.2908
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Maik Qualmann 2023-04-17 07:53:06 UTC
Just tested, a correct digiKam-8.0.0-git start menu entry is created. I suspect they had an orphaned entry from an older version still in the start menu.

Maik
Comment 2 Ilgaz Öcal 2023-04-20 21:05:26 UTC
(In reply to Maik Qualmann from comment #1)
> Just tested, a correct digiKam-8.0.0-git start menu entry is created. I
> suspect they had an orphaned entry from an older version still in the start
> menu.
> 
> Maik

I had a  Windows 10 VM image just in case. It had no Digikam version installed. I did the following:

1) Install Digikam 7.10.0
2) Install Digikam 8.0.0

Result: A Digikam 7.10.0 folder (instead of 8.0.0) was created in the Start Menu. I double checked checking the Start Menu on Windows 10, it says "Digikam 7.10.0"
Comment 3 Ilgaz Öcal 2023-04-20 21:09:22 UTC
Created attachment 158249 [details]
Actual Digikam 7.10.0 folder in Windows 10 start menu

I have re-created the issue on a bare minimum/fresh Windows 10 VM by installing Digikam 7.10.0 first and Digikam 8.0.0 next.
Comment 4 caulier.gilles 2023-04-21 01:41:32 UTC
After installing digiKam 7, when you install DK 8, the previous version must be uninstalled. So DK 7 must disappear from your computer and from the Windows Applications menu. This is the case ?
Comment 5 Ilgaz Öcal 2023-04-21 09:13:10 UTC
(In reply to caulier.gilles from comment #4)
> After installing digiKam 7, when you install DK 8, the previous version must
> be uninstalled. So DK 7 must disappear from your computer and from the
> Windows Applications menu. This is the case ?

Sorry for not making myself clear, as DK 8.0.0 installed, the start menu folder should be created as "Digikam 8.0.0" not "7.10.0" (previous version uninstalled)
Comment 6 caulier.gilles 2023-04-21 11:06:26 UTC
yes, i understand your previous explanations...

But i ask again : 7.x is well uninstalled before to install 8.x ?
Comment 7 Ilgaz Öcal 2023-04-21 12:15:45 UTC
In reply to caulier.gilles from comment #6)
> yes, i understand your previous explanations...
> 
> But i ask again : 7.x is well uninstalled before to install 8.x ?
Yes, I watched it being uninstalled by 8.0.0 installer.
Comment 8 caulier.gilles 2023-04-21 12:22:33 UTC
This point is important as 7.x create an entry in the Windows registery DB that 8.x will reuse later if 7.x is not uninstalled. I suspect that entry in registery DB is not cleaned or something like that.

Other Q : on a clean Windows system where DK have never been installed, what's happen if 8.x is installed as well ? It always propose the wrong windows menu entry ?

Best

Gilles Caulier
Comment 9 caulier.gilles 2023-04-30 07:32:54 UTC
I tested with 8.1.0 installer and i confirm this behavior under my Win 7 VM
Comment 10 caulier.gilles 2023-05-15 14:49:29 UTC
Maik, 

I search on the NSIS config and i cannot find where it take this version of digiKam as entry in Program Files menu.

I search also if somebody has a similar problem on the web and i cannot find it.

Another dysfunction with NSIS is the incapability to host more than 2Gb of data in the install.exe archive. I think it will be time to swith to another Windows installer, perhaps the Qt module : 

https://doc.qt.io/qtinstallerframework/

Gilles
Comment 11 Maik Qualmann 2023-05-15 16:47:44 UTC
Hi Gilles,

We may try to remove the old start menu entries with the same variable ($SMPROGRAMS) that we use later for the installation. We need the "old" version name when uninstalling. I would suggest we don't attach a version to the start menu entry at all.

Maik
Comment 12 Maik Qualmann 2023-05-15 16:53:26 UTC
The variable is ${MY_PRODUCT} and is written to the registry, I think we need to read the registry when uninstalling to get the installed version number in order to remove the start menu entries correctly.

Maik
Comment 13 Ilgaz Öcal 2023-05-16 06:13:18 UTC
(In reply to Maik Qualmann from comment #11)
> Hi Gilles,
> 
> We may try to remove the old start menu entries with the same variable
> ($SMPROGRAMS) that we use later for the installation. We need the "old"
> version name when uninstalling. I would suggest we don't attach a version to
> the start menu entry at all.
> 
> Maik

As a user, I suggest the same thing too. I am also using Creative Cloud from Adobe, applications (photoshop etc) doesn't have version number att(In reply to Maik Qualmann from comment #11)
> Hi Gilles,
> 
> We may try to remove the old start menu entries with the same variable
> ($SMPROGRAMS) that we use later for the installation. We need the "old"
> version name when uninstalling. I would suggest we don't attach a version to
> the start menu entry at all.
> 
> Maik

Not attaching a version makes sense.(In reply to Maik Qualmann from comment #11)
> Hi Gilles,
> 
> We may try to remove the old start menu entries with the same variable
> ($SMPROGRAMS) that we use later for the installation. We need the "old"
> version name when uninstalling. I would suggest we don't attach a version to
> the start menu entry at all.
> 
> Maik

I think not attaching a version number makes sense since some people are confused with version numbers and there is a working "self-update" mechanism under Windows now.
Comment 14 Maik Qualmann 2023-10-15 09:52:38 UTC
Git commit b8c1fda82850057bd0a70d67d39d8f868d0a5f70 by Maik Qualmann.
Committed on 15/10/2023 at 11:51.
Pushed by mqualmann into branch 'master'.

remove registry version entries when uninstalling
FIXED-IN: 8.2.0

M  +1    -1    NEWS
M  +2    -0    project/bundles/mxe/installer/digikam.nsi

https://invent.kde.org/graphics/digikam/-/commit/b8c1fda82850057bd0a70d67d39d8f868d0a5f70
Comment 15 Maik Qualmann 2023-10-15 09:54:00 UTC
Note: The changes only take effect with the second digiKam installation.

Maik
Comment 16 Maik Qualmann 2023-10-19 16:49:43 UTC
Git commit 09f672924c84e9683b5a9c8566254bd45ab3cd45 by Maik Qualmann.
Committed on 19/10/2023 at 18:48.
Pushed by mqualmann into branch 'master'.

fix delete values from the Windows registry

M  +2    -2    project/bundles/mxe/installer/digikam.nsi

https://invent.kde.org/graphics/digikam/-/commit/09f672924c84e9683b5a9c8566254bd45ab3cd45