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

本文关键字:Metro 应用程序 安装 计算机 查找 | 更新日期: 2023-09-27 18:27:27

我正在尝试用C#编写一段代码,以查找机器上安装的所有Metro应用程序。我看到了以下帖子:获取metro应用程序的列表,并使用PowerShell在Windows 8中启动它们,其中解释了从系统注册表中获取这些应用程序的原因。这是获得名单的唯一可靠方法吗?有人知道其他方法吗?提前感谢

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

谢谢大家!为了使PackageManager代码工作,我必须执行以下

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

 <PropertyGroup>
   <TargetPlatformVersion>8.0</TargetPlatformVersion>
 </PropertyGroup>
 <Reference Include="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

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

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

我希望我能发表评论。。。这是一种选择吗?

IEnumerable<Windows.ApplicationModel.Package> packages = 
        (IEnumerable<Windows.ApplicationModel.Package>)packageManager.FindPackagesForUser("");

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

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

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

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

要执行相同的操作,请执行以下代码。

如果有人想知道如何在接受的答案中获得packageManager变量,您需要执行以下操作:

Windows.Management.Deployment.PackageManager packageManager = new Windows.Management.Deployment.PackageManager();

我想这属于评论,但我没有足够的声誉,对不起。