繁体   English   中英

如何在所有用户中获得UWP10中已安装的软件包?

[英]How to get installed packages in UWP10 across all users?

我正在开发一个UWP,在其中我需要获取系统上所有已安装软件包的列表,是否为此使用任何API?

是执行此操作的示例。 它也应适用于UWP Apps。

这些是您需要的行:

Windows.Management.Deployment.PackageManager packageManager = new Windows.Management.Deployment.PackageManager();
IEnumerable<Windows.ApplicationModel.Package> packages = (IEnumerable<Windows.ApplicationModel.Package>) packageManager.FindPackages();

然后,您可以遍历软件包并获取所需的信息。

现在,此代码存在问题:它无法在UWP应用程序中运行(请参阅此处 )。 您将获得拒绝访问的异常。 现在,可以选择将此代码外包给某个组件,以允许这样做并从UWP应用触发它。

(本来可以发表评论,但是我的声誉仍然很低)

上面的代码对我来说并不立即起作用。 我必须在Package.appxmanifest中添加受限功能 必须在文件顶部添加一个新的名称空间:

xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"`

<rescap:Capability Name="packageQuery" />

到功能标签。 根据信息,您可能需要将'rescap'名称空间添加到Ignorable列表中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM