我的目标是建议用户从桌面应用程序安装应用程序的商店版本,但是我需要知道用户是否可以这样做(例如,其Windows 10+,并且商店可用)。
我可以轻松检测Windows 10 +。
问题在于,有许多SKU(例如Windows Server和Windows LTSB)没有商店,但提供了基本相同的API。
到目前为止,我已经尝试过:
try
创建Windows.Management.Deployment.PackageManager
的实例尽管没有商店,但前者在Windows Server上还是成功的。
后者虽然目前已经足够了,但需要手动检查所有非Store SKU,并且并不能真正解决问题,因为没有任何事情可以阻止Microsoft将Windows Store引入Windows 2019 LTSB。
实际上,更具体地说,我想知道当前用户是否可以从Windows Store安装桌面桥应用程序。
答案 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();
}
}