Bug 398582

Summary: Notarization of Windows Installer as Windows Store package - Use Craft Continuous Deployment System.
Product: [Applications] digikam Reporter: MarcP <iwannaberich>
Component: Bundle-WindowsAssignee: Digikam Developers <digikam-bugs-null>
Status: REPORTED ---    
Severity: wishlist CC: caulier.gilles, guimarcalsilva, iwannaberich, metzpinguin, rvboutin9
Priority: NOR    
Version: 6.0.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Bug Depends on: 454941    
Bug Blocks:    
Attachments: "Windows protected your PC" warning message

Description MarcP 2018-09-13 15:41:15 UTC
Created attachment 114935 [details]
"Windows protected your PC" warning message

On windows 10, when running the Digikam installer, a message pops up saying: "Windows protected your PC. Windows Defender SmartScreen prevented an unrecognized app from starting. Running this app might put your PC at risk" (see attachment). Then there's a more info link that you can expand, and there you can click on "Run anyway".

It doesn't affect functionality, but it might put off some users from installing this software or thinking it might contain malware.

This is true at least for the last beta digiKam-6.0.0-beta1-20180903T144815-Win64.exe
Comment 1 caulier.gilles 2018-09-13 15:52:09 UTC
And to register digiKam to the Microsoft Store, i need to pay, as for Apple Mac Store. Seriously, you think that we will do it for a open source application ?

The digiKam installer for Windows is _fully_ cross compiled under Linux. There is not possible Virus and Malware embedded while this process. When i said Fully, i want mean, from the scratch. No Microsoft tool is used while the construction.

For the rest, of course a developer can include a malware voluntary in source code, but, whole digiKam source code is available. So this problem can be quickly found by specialist.

Gilles Caulier
Comment 2 caulier.gilles 2018-09-13 15:57:32 UTC
Form this page :

https://en.wikipedia.org/wiki/Microsoft_Store_(digital)

We can read that application must follow this rule in particular :

"Third-party web browsers that use their own layout engines"

In digiKam we use the QtWebKit web engine to render page (for ex to be logged in web service). This is not the native web browser (Edge).

So no way for me. I don't want write or to lost time with this M$ details...

Gilles Caulier
Comment 3 caulier.gilles 2018-09-13 15:59:53 UTC
Look the Krita project :

https://www.microsoft.com/fr-fr/p/krita/9n6x57zgrw96?activetab=pivot%3aoverviewtab

On Windows Store, You must buy this "Open Source" application. Serious !!!

Gilles Caulier
Comment 4 MarcP 2018-09-13 17:14:59 UTC
Oh, ok, I just wanted to make sure you were aware of this situation.

On the other hand, are you sure it has to do with the Windows Store? I installed many open source programs in my computer and none (or virtually none) showed that warning. I mean programs that you download and double-click on the setup.exe file, not installed through the Store.
Comment 5 caulier.gilles 2018-09-13 17:30:46 UTC
No i' don't know.

I used Win10 last version available while this summer and run the setup.exe, without any warning.

So, i suppose that level of security is relevant of this warning.

Gilles Caulier
Comment 6 Maik Qualmann 2018-09-13 20:13:29 UTC
This message only appears in the latest versions of Windows 10 with Microsoft Defender enabled. I suspect that Microsoft is working with a whitelist and digiKam is unknown to Microsoft. Also quite possible that the Defender recognizes that URL strings are in digiKam, from the Web service tools...but is just an idea...at any rate, digiKam is not malware...anyone can look at the code or build a Windows Installer themselves. This will be worse under Windows, there is already a Windows 10 version that only allows software from the store, for schools.

Maik
Comment 7 caulier.gilles 2018-09-13 21:09:11 UTC
In kde-windows@kde.org mailing list from KDE project, i seen that KStar is now available in Microsoft Windows Store :

// ---------------------------------------------------------------

Hello everyone,

KStars is now available on the Microsoft Store: http://knro.blogspot.com/2018/09/kstars-on-microsoft-store.html

Thanks to everyone who made this release possible include the KDE Windows team especially Hannah Van Reth who made this possible.

Let your friends and family members who use a Windows PC know about this release! Submitting reviews and feedback for the app is greatly appreciated!

Best Regards,
Jasem Mutlaq

//---------------------------------------------------------------------

So, it's certainly possible to do it for digiKam as an umbrella of KDE project.

Gilles Caulier
Comment 8 caulier.gilles 2020-02-05 15:39:54 UTC
Good news about this topic.

To publish digiKam on the Microsoft store, the ultimate condition is to be able to compile whole digiKam under Microsoft compiler : MSVC

Since 3 week, i'm fighting against the Windows stuff, and i'm near to complete the job :

https://build.kde.org/job/Extragear/job/digikam/job/kf5-qt5%20WindowsMSVCQt5.14/

It's not perfect, but as usual, the last 10% are the most complex to solve.

After that, the KDE build factory will be able to package digiKAm for the store (it's a special format only doable with the Micorst tool under Windows of course...)

There are already some KDE application published on Microsoft store, so i'm confidant to complete this wish for the next 7.0.0 release. This will be a giant step on the project, and this will permit to adverse the application under the most important operating system (in quantity of computer installed i want mean (:=)))...

So please be patient and be aware on this channel...

Gilles Caulier
Comment 9 caulier.gilles 2020-02-06 14:52:21 UTC
Champagne,

After around 100 commit, digiKam compile and link fine with the Microsoft Visual C++ compiler :

https://build.kde.org/job/Extragear/job/digikam/job/kf5-qt5%20WindowsMSVCQt5.14/

Now we can plan a Windows Store packaging...

Gilles Caulier
Comment 10 Maik Qualmann 2020-04-25 14:02:20 UTC
*** Bug 420559 has been marked as a duplicate of this bug. ***
Comment 11 caulier.gilles 2020-07-10 06:13:05 UTC
Hi,


In Krita project i seen that MXE still in use to build Windows target. The application is also published to the M$ Store, so, it's possible to backprocess MXE build installer with MSVC to make the UWP container to publish officially.

The rules are here for Krita:

https://invent.kde.org/graphics/krita/-/tree/master/packaging/windows/msix

This is definitively the right way to go in the future...

Gilles Caulier
Comment 12 caulier.gilles 2021-04-14 17:15:28 UTC
Maik,

A good news for this topic. Look well the comment from Phabricator posted today:

https://phabricator.kde.org/T14122#253820

Sound like a MSVC version is ready to be posted to Microsoft Store !

Gilles
Comment 13 Maik Qualmann 2021-04-14 20:16:57 UTC
That are great news. This version should then also be compiled with QWebEngine.

Maik
Comment 14 caulier.gilles 2021-04-14 20:23:45 UTC
yes typically QWebEngine is only supported with MSVC
Comment 15 guimarcalsilva 2021-04-22 21:29:09 UTC
>Sound like a MSVC version is ready to be posted to Microsoft Store ! (In reply to caulier.gilles from comment #12)

I made a comment on the task with more details https://phabricator.kde.org/T14122#254383. I need to clarify I tested the Digikam version from the official Digikam website, I don't know if it was compiled with MSVC or not.
Comment 16 caulier.gilles 2022-06-13 12:43:38 UTC
Hi All,

Good news. The first version of digiKam 8 (alpha stage) compiled with MSVC under Craft and signed for the Microsoft Store is done :

https://binary-factory.kde.org/view/Windows%2064-bit/job/Digikam_Nightly_win64/976/console

The packaging fail with NSIS as it miss an icon. I will fix it

Gilles
Comment 17 caulier.gilles 2022-06-13 14:24:25 UTC
Hourrah...

https://binary-factory.kde.org/view/Windows%2064-bit/job/Digikam_Nightly_win64/

This is the first version of digiKam 8 notarized with Craft, compiled with MSVC, and ready for the Microsoft Store.

This installer is not yet optimized. There are plenty of stuff to removed before packaging. This must be customized in a blacklist file in digiKAm Craft settings.

Ex of blacklist from KMyMoney project: 

https://invent.kde.org/packaging/craft-blueprints-kde/-/blob/master/extragear/kmymoney/blacklist.txt

Gilles
Comment 18 caulier.gilles 2022-06-13 21:08:31 UTC
The new Windows installer compiled under MSVC with binary factory lust be optimized for the Store.

To publish a KDE application, there is a tutorial here :

https://kate-editor.org/post/2019/2019-11-03-windows-store-submission-guide/

Gilles
Comment 19 caulier.gilles 2022-06-13 21:14:38 UTC
The last packaging ready to upload on Windows store is available here :

https://binary-factory.kde.org/view/Windows%2064-bit/job/Digikam_Nightly_win64/

File is : digikam-master-?????-windows-msvc2019_64-cl.appxupload

Following instructions from the tutorial are simple to process:

Gilles Caulier
Comment 20 caulier.gilles 2022-06-17 08:17:35 UTC
Hi all,

digiKam 8.0.0 compiled with MSVC and Craft-binary factory start to run :

https://i.imgur.com/F4PltGe.png

There are plenty of fixes to do, as to store all DK and Marble plugins at the right place in the bundles (plugins are there but not yet detected and loaded).

Gilles
Comment 21 caulier.gilles 2022-06-18 07:22:31 UTC
MAik,

I add a TODO list in digiKam craft repository :

https://invent.kde.org/packaging/craft-blueprints-kde/-/blob/master/extragear/digikam/TODO

It's not yet finalized, but it's a first plan of the pending and completed tasks.

Gilles
Comment 22 Maik Qualmann 2022-06-18 08:43:49 UTC
I was just playing with the MSVC build. ExifTool.exe manually copied to the path. For starters, it works pretty well.
- Some icons from the export tools seem to be missing.
- Apparently KimageFormats plugins are not included.

And the corresponding entries in TODO.

Maik
Comment 23 caulier.gilles 2022-06-18 09:29:29 UTC
Git commit 12f843b32f56491bd14f3eacc7977c7ca5d2f45e by Gilles Caulier.
Committed on 18/06/2022 at 09:24.
Pushed by cgilles into branch 'master'.

update

M  +3    -0    extragear/digikam/TODO

https://invent.kde.org/packaging/craft-blueprints-kde/commit/12f843b32f56491bd14f3eacc7977c7ca5d2f45e
Comment 24 caulier.gilles 2022-06-18 09:38:22 UTC
Maik,

You don't have write access right to craft blueprints git repository ? If no, please ask to admin to grant access, it's important as the Windows and MacOS bundles will be built with 80% of the settings from this repository.

Typically, it's fine to commit changes directly in digiKam area, for the rest, we needs to create MR as core craft settings is shared with other applications and to tune it can have side effects. 

Gilles
Comment 25 caulier.gilles 2022-06-18 19:34:29 UTC
Git commit 444eec4a4f9b81ed6e93231dd48153183c1e5281 by Gilles Caulier.
Committed on 18/06/2022 at 19:30.
Pushed by cgilles into branch 'master'.

digiKam Craft build with MSVC for Windows :

-add exiftool in the bundle
-add KImageFormats QImage plugins

CCBUGGS:398582

M  +2    -2    extragear/digikam/TODO

https://invent.kde.org/packaging/craft-blueprints-kde/commit/444eec4a4f9b81ed6e93231dd48153183c1e5281