Get Icon from UWP App

UWP apps (or Windows Store apps, or apps in what's called sometimes the "AppX application model") information can be queried from official APIs.

These APIs don't have a C# equivalent AFAIK but I've provided sample code to do this in my answer to a similar question here on SO: Getting icon of “modern” Windows app from a desktop application?

The sample application dumps all current loaded Windows Store packages & apps.

Note there is not just one icon for a UWP app, there may be many, to be able to adapt to a specific device, form factors, etc. The sample code has a utility that gets the highest scale image for a given resource.


For me the following method works:

  1. Open File Explorer and type C:/Program Files/WindowsApps in the adress bar.
  2. In the You dont' have permission to access this folder dialog click Continue. This will require administrator privilages.
  3. In the You have been denied permission to this folder dialog click security tab highlighted in blue.
  4. In the WindowsApps Properties dialog click Advanced.
  5. In the Advanced Security Settings for WindowsApps dialog click Continue.
  6. Click the blue text Change next to Owner: TrustedInstaller.
  7. In the Enter object name to select textbox in the Select an object or group dialog enter your username (the one displayed in cmd after C:/User/ right after opening it).
  8. Click the Check Names button.
  9. Click the OK button.
  10. In the Advanced Security Settings for WindowsApps dialog click Apply and then OK.
  11. Close File Explorer.
  12. Reopen File Explorer and type C:/Program Files/WindowsApps in the adress bar again.

Now you will see a list of folders. Each corresponds to a UWP app installed on your computer. Some apps are in multiple folders. App's resources are places in the /Assets subfolder. You will find there the app's icon too.

Tags:

C#

Icons

Uwp