【发布时间】:2012-10-22 15:27:09
【问题描述】:
我正在尝试以一种简单的方式自动运行 appcert.exe 的好方法。
我一生都无法弄清楚如何获取包的完整包名。例如,我有一个名为 TwitterDemo 的应用程序,但是当我运行 Get-AppxPackage 时,该应用程序甚至没有被列出(可能被列为类似 c2934-289aa9-394... 的东西。而且,我真的宁愿不依赖使用从 powershell 获取 AppxPackage,然后解析它的输出和/或将其移动到常规命令行。甚至似乎没有用于从 .Net 查询包数据库的 API,而且 C++ API 似乎相当复杂。
所以基本上,将应用程序“标题”与其完整包名称匹配的最简单方法是什么?
【问题讨论】:
-
你为什么要这样做?可能有更好的方法来完成您想要完成的工作。
-
@mydogisbox 好吧,我真正需要做的是获取一个 appx 包,安装它,验证它,然后卸载它。但是,在安装 appx 之后,似乎没有办法获得完整的包名......似乎也没有官方 api(除了 powershell)可以用来安装和卸载应用程序
-
啊,好的。这很有帮助。我不知道答案,但现在我知道我不知道答案。 ;-)
-
@Earlz 您可以确定未安装软件包的软件包全名。请参阅我的回答:PackageFullNameFromId()。此外,有一个程序化 API——PackageManager 有方法来完成 Powershell cmdlet 所做的几乎所有事情(也许还有更多)。有关详细信息,请参阅下面的答案。
标签: .net windows-8 windows-runtime windows-store-apps