What does the "_8wekyb3d8bbwe" extension in Windows metro apps mean?

Metro apps in windows seem to have a special extension to their installation directory, for example the new Windows Terminal is located at C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.3.2382.0_x64__8wekyb3d8bbwe\. I've noticed that other metro apps also have that _8wekyb3d8bbwe extension in their path.

I came across this while writing an AutoHotkey script that has to launch Windows Terminal, which is done with

Run shell:AppsFolder\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe!App 

It looks similar to the installation directory path but there is no version or architecture in the command (the _1.3.2382.0_x64_ part is missing). However I have to specify _8wekyb3d8bbwe to get it working and I'm curious what this is.

What does _8wekyb3d8bbwe represent? What is the meaning behind it and why is it there?


Solution 1:

The 8wekyb3d8bbwe string eems to have no purpose except ensuring that package names from Microsoft will not conflict with user names.

You will see in the Microsoft list at Package names for apps provisioned in Windows 10, version 1709 that all package names from Microsoft terminate with this string.

As to why this string was chosen and no other, I have no explanation. Maybe some Microsoft developer just randomly hit his keyboard. From the distribution of the letters, he might have used his left hand for doing that.

Solution 2:

You start modern apps via their URL not by their exefile.

@Echo This takes a few seconds to run ...
@For /f "tokens=1* delims=" %%A in ('reg query HKCR /f "URL:*" /s /d ^| findstr /c:"URL:" ^| findstr /v /c:"URL: " ^| Sort') Do @Echo %%A %%B
pause

The above batch file lists URLs registered on your computer.

EG

    (Default)    REG_SZ    URL:calculator

To start the current version of calculator

calculator://

Solution 3:

8wekyb3d8bbwe is Microsoft's PublisherId, which is why all Package Names for apps released by them end in it.

Apps released by other publishers will have other IDs (for example, HP has v10z8vjag6ke6).

You can see a list of all of your installed packages by running Get-AppxPackage * in PowerShell. In the list, you can see that most apps are by Microsoft, and will have Package IDs ending in 8wekyb3d8bbwe. You also might be able to find some released by other companies, with other Publisher IDs.