I want to populate a ListBox with the localized display names of all the installed Windows Store apps in a Windows 8 desktop app. I tried this:

string Apps = Interaction.Environ("ProgramFiles") + "\\WindowsApps";
foreach ( App in IO.Directory.GetDirectories(Apps)) {
            XmlDocument xml = new XmlDocument();
            xml.LoadXml(My.Computer.FileSystem.ReadAllText(App + "\\AppxManifest.xml"));
            lbApps.Items.Add(xml.GetElementsByTagName("DisplayName")(0).InnerText);
 }

But it adds up ms-resource strings and default apps that are uninstalled.

EDIT: I found that all the installed apps have their shortcuts in %LocalAppData%\Microsoft\Windows\Application Shortcuts but those shortcuts don't have the localized name and are non-functional when opened.

Edit
Report