Make links for your Metro Apps in Windows 8.1

I don’t mind the idea behind Metro apps and I like the security they bring. However there are a couple of things I dislike about them, which really should not be problems in the first place, but are because of the way the App model was implemented.

  1. I should be able to put a link to an App anywhere I damn well want. Currently in Win 8.1, I can only “pin it to the start menu” or to the task bar, both of which options suck. I have always used (and continue to use) a Quick Launch toolbar for launching my common programs
  2. I should be able to name them in a way that lets me find them, using my own nomenclature. If I want to call Plex “Media Centre”, I should be able to (maybe I cannot remember the word “Plex”?)
  3. I should be able to Group the app shortcuts in any way I want. If I want to have “Kids Games” (like Where’s Waldo) and “Adult Games” (like Quake 3), I should be able to.
  4. I should be able to group my Desktop programs and Windows Apps together. Why do I care that one runs with higher privileges than the other? What is the point of separating them? As a user, I just don’t care.

Turns out that with a little bit of fiddling, you can create normal Desktop-style shortcuts for your metro apps, with the nice icons and everything… and thereby work around these issues 🙂

The process follows:

  1. Install ImageMagick if you have not already done so (link’s in step 4).
  2. Run the following powershell script
    Start-Transcript $env:SystemDrive\Users\$env:username\Desktop\Log.txt
    $installedapps = get-AppxPackage
    foreach ($app in $installedapps)
        foreach ($id in (Get-AppxPackageManifest $app)
            $app.packagefamilyname + "!" + $id    }
    Write-Host "Finished : Press any key to exit... View Log.txt for AppUserModelId's"
    $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
  3. Create a new link wherever you want (right click – New – Link) with
    C:\Windows\explorer.exe shell:AppsFolder\UMID
    as the “address”, where UMID is the code from within the log.txt text file (it’s on the desktop) e.g. Disney.DisneyClassicSolitaire_6rarf9sa4v8jt!App
  4. Copy the Icon file from the location listed under the ExePath property HKEY_CLASSES_ROOT\ActivatableClasses\Package\<PACKAGENAME>\Server\App.<SOMELONGSTRING>.mca or from here: HKEY_CLASSES_ROOT\Extensions\ContractId\Windows.Launch\PackageId\<APPID>\ActivatableClassId\App\Icon<APPID> is the value from the text file before the ! And with the version number in it… for example:
    is in the file, and
    is the <APPID> key.This property references a value here – note the key name under MrtCache is the value from the Icon property:
    HKEY_CLASSES_ROOT\Local Settings\MrtCache\C:%5CProgram Files%5CWindowsApps%5CDisney.DisneyClassicSolitaire_1.0.0.43_x86__6rarf9sa4v8jt%5Cresources.pri\1cfce9e4ab7062c\4e4436a8
  5. Convert the PNG to an .ICO file and point the link properties to it using ImageMagick – from the cmd prompt, navigate to the folder with the png / jpg images and run:
    mogrify -format ico *.png

Done! Okay, so it’s not particularly easy, but it’s doable. Leave a comment if you would like some more detail on any of the steps!


About Brad Saide

I'm a SharePoint consultant. I'm also slowly going bald, seem to have a permanent spare tyre around my waist and enjoy socialising with friends over a beer or 10. The last 2 may possibly be related. Started working with SharePoint when the first version was in limited beta release (participated in the Technology Adoption Program while at Woolworths) and have been committed to the adoption of the technology as a business enabler ever since.
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s