使用FindPackagesForUser方法可以找到什么样的应用程序

时间:2018-08-31 11:25:22

标签: c# uwp

我想在uwp项目中打开PowerPoint,并且使用功能FindPackagesForUser。我已经在清单中添加了rescap。代码如下:

var pkgManager = new PackageManager();
var pkg = pkgManager.FindPackagesForUser(String.Empty, Microsoft.Office.Desktop.PowerPoint_8wekyb3d8bbwe).FirstOrDefault();
if (pkg == null) return null;
var apps = await pkg.GetAppListEntriesAsync();
var firstApp = apps.FirstOrDefault();

但是,pkg返回null。 'Microsoft.Office.Desktop.PowerPoint_8wekyb3d8bbwe'是PowerPoint的程序包名称。如果我将其替换为本地计算器的软件包名称“ Microsoft.WindowsCalculator_8wekyb3d8bbwe”,它将成功。我真的很好奇为什么。

1 个答案:

答案 0 :(得分:0)

FindPackagesForUser用于查找为指定用户安装的软件包。实际上,查找路径为C:\Users\YouAccount\AppData\Local\Packages,在Packages下找不到Microsoft.Office.Desktop.PowerPoint_8wekyb3d8bbwe product folder,因为它是桌面产品ID。

uwp powerpoint的生产ID为Microsoft.Office.PowerPoint_8wekyb3d8bbwe,如果已安装,则会找到该文件夹​​。