You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何从Get-AppXPackage输出或AppxManifest.xml中获取Microsoft Store应用URL

如何从Get-AppXPackage输出或AppxManifest.xml中获取Microsoft Store应用URL

刚好我之前也折腾过这个问题,咱们一步步来解决:

首先得明确:默认的Get-AppXPackage输出里并不直接包含Microsoft Store的URL,不过你提到的AppxManifest.xml确实是关键突破口——里面藏着生成Store链接必需的核心ID。

手动提取的步骤

  1. Get-AppXPackage的结果里找到InstallLocation字段,比如Windows Calculator的路径是C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1809.2731.0_x64__8wekyb3d8bbwe

    注意:WindowsApps目录默认有系统权限限制,你可能需要用管理员权限启动PowerShell,或者临时调整文件夹权限才能访问里面的文件。

  2. 进入这个路径,找到AppxManifest.xml文件并打开它。
  3. 在XML里查找StoreIdentity节点,里面的ProductId就是我们要的关键值——比如计算器的ProductId是9WZDNCRFHVN5
  4. 把这个ID拼到Microsoft Store的通用URL模板里:https://apps.microsoft.com/detail/{ProductId},替换成对应的ID后,就能得到完整的Store链接了,比如计算器的就是https://apps.microsoft.com/detail/9WZDNCRFHVN5

用PowerShell自动化提取的方法

如果不想手动操作XML文件,也可以用PowerShell一键搞定:

# 获取目标应用的包信息(这里以Windows Calculator为例)
$appPackage = Get-AppXPackage -AllUsers *windowscalculator*

# 拼接AppxManifest.xml的完整路径
$manifestPath = Join-Path -Path $appPackage.InstallLocation -ChildPath "AppxManifest.xml"

# 读取并解析XML内容
$manifestContent = [xml](Get-Content -Path $manifestPath)

# 提取StoreIdentity节点下的ProductId
$productId = $manifestContent.Package.StoreIdentity.ProductId

# 生成并输出Microsoft Store URL
$storeUrl = "https://apps.microsoft.com/detail/$productId"
Write-Host "应用的Microsoft Store链接:$storeUrl"

运行这段代码就能直接拿到目标应用的Store链接啦。

小补充:少数较旧的AppX包可能没有StoreIdentity节点,这时可以试试用Identity节点的Name属性来拼接,但大部分现代Store应用都会有ProductId,这个方法更可靠。

备注:内容来源于stack exchange,提问作者cachius

火山引擎 最新活动