在计算机上查找已安装的Metro应用程序

我正在尝试在C#中编写一段代码,以便在计算机上查找所有已安装的Metro应用程序。 我看到了以下post获取Metro应用程序列表并使用PowerShell在Windows 8中启动它们,这解释了从系统注册表获取此信息。 这是获取清单的唯一可靠方式吗? 有没有人知道其他任何方式? 提前致谢

我希望我能发表评论……这是一个选择吗?

IEnumerable packages = (IEnumerable)packageManager.FindPackagesForUser(""); 

http://msdn.microsoft.com/en-us/library/windows/apps/windows.management.deployment.packagemanager.aspx

感谢大家! 要使PackageManager代码起作用,我必须执行以下操作

1)将以下内容添加到.csproj中。

   8.0   

2)添加对C:\ Program Files(x86)\ Windows Kits \ 8.0 \ References \ CommonConfiguration \ Neutral \ Windows.winmd的引用

完成上述操作后,我能够列出所有的地铁套餐。

您无法在WinRT应用程序中迭代安装在PC中的所有软件包。 它可以在桌面和控制台应用程序中使用。 有关详细信息,请参阅这些MSDN线程。

如何获取Metro App中的所有Metro应用程序列表?

如何在Metro应用程序中获取所有Metro风格的应用程序列表?

要执行相同的代码。