Detecting whether Krita comes from a store

Alvin Wong alvin at alvinhc.com
Wed Jul 26 11:52:59 BST 2023


There is a bit of such code in 
https://invent.kde.org/graphics/krita/-/blob/89ccdfb467fe0d68c26b9cc54dde272b66967253/libs/ui/KisWelcomePageWidget.cpp#L229-244, 
for Windows and Linux.

Note that `KisWindowsPackageUtils::isRunningInPackage()` only detects 
whether Krita is installed as a package, it doesn't tell if it is really 
installed from the Store or just installed with the MSIX file. But we 
don't provide signed MSIX to users at least for now, so that should be 
acceptable. (There appears to be WinRT APIs to check for a Windows Store 
license, but calling them can be a bit tricky so I won't try that now.)

Cheers,
Alvin

On 26/7/2023 18:20, Halla Rempt wrote:
> Hi,
>
> Now we've got the begging banner, we need to make sure that people who already have paid for Krita, only see the banner if we're running a special campaign. So, for each store we need to have a way to figure out if it's a store version of Krita. (I forgot what the rules were on the Android Store, but we still have the small donation link, so the support request might be fine?)
>
> I've added an empty KisApplication::isStoreApplication method, and that needs fleshing out.
>
> So, please, for each of these stores, tell me what diagnistics will work:
>
> * Windows Store
>
> (Check where the executable is? An environment variable? The location of the user data?)
>
> * Steam Store
>
> ** Windows
>
> ** Linux
>
> * MacOS Store
>
>
> For the Epic Store, I'll try to figure it out myself, but that's one of the smallest anyway.
>
> We really want to have this done before the second beta, so please give this a bit of priority...
>
> Halla
>
>


More information about the kimageshop mailing list