2015-12-10 44 views

回答

1

Here是这样做的示例。它也应该适用于UWP应用程序。

这些都是你需要的线路:

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

然后你就可以通过包遍历并获得您需要的信息。

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

0

(会公布本作评论,但我的名声仍然是低)

上面的代码并没有为我立即开展工作。我必须添加一个restricted capability到Package.appxmanifest。 只好在文件的顶部添加一个新的命名空间:

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

<rescap:Capability Name="packageQuery" /> 

到Capabilties标签。根据this的信息,您可能需要将'rescap'名称空间添加到可忽略列表中。

相关问题