检测Windows Store是否可用

时间:2018-08-03 20:03:44

标签: c# windows-store

我的目标是建议用户从桌面应用程序安装应用程序的商店版本,但是我需要知道用户是否可以这样做(例如,其Windows 10+,并且商店可用)。

我可以轻松检测Windows 10 +。

问题在于,有许多SKU(例如Windows Server和Windows LTSB)没有商店,但提供了基本相同的API。

到目前为止,我已经尝试过:

  • try创建Windows.Management.Deployment.PackageManager的实例
  • GetProductInfo函数

尽管没有商店,但前者在Windows Server上还是成功的。

后者虽然目前已经足够了,但需要手动检查所有非Store SKU,并且并不能真正解决问题,因为没有任何事情可以阻止Microsoft将Windows Store引入Windows 2019 LTSB。

实际上,更具体地说,我想知道当前用户是否可以从Windows Store安装桌面桥应用程序。

1 个答案:

答案 0 :(得分:4)

您可以使用Get-AppxPackage PowerShell命令检查Microsoft.StorePurchaseApp软件包是否已安装。

首先,使用 Package Manager控制台安装System.Management.Automation.dll NuGet软件包:

PM> Install-Package System.Management.Automation.dll

然后使用类似这样的方法:

public static bool IsStoreAvailable()
{
    using (var shell = PowerShell.Create())
    {
        shell.AddScript("Get-AppxPackage -Name Microsoft.StorePurchaseApp");
        var result = shell.Invoke();
        return result.Any();
    }
}
相关问题