c# – 检测Windows应用商店是否可用

我的目标是建议用户从桌面应用程序安装应用程序的商店版本,但我需要知道用户是否可以执行此操作(例如,其Windows 10,并且商店可用).我可以轻松检测到Windows 10.问题是有许多SKU,如Windows Server和Windows LTSB,它...

我的目标是建议用户从桌面应用程序安装应用程序的商店版本,但我需要知道用户是否可以执行此操作(例如,其Windows 10,并且商店可用).

我可以轻松检测到Windows 10.

问题是有许多SKU,如Windows Server和Windows LTSB,它们没有Store,但提供的API基本相同.

到目前为止我尝试过的:

>尝试创建Windows.Management.Deployment.PackageManager的实例
> GetProductInfo功能

尽管没有Store,但前者在Windows Server上取得了成功.

后者虽然目前适用于今天,但需要手动检查所有非商店SKU,并没有真正解决问题,因为没有什么能阻止微软将Windows应用商店引入Windows 2019 LTSB.

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

解决方法:

您可以使用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();
    }
}

本文标题为:c# – 检测Windows应用商店是否可用

基础教程推荐