我的目标是建议用户从桌面应用程序安装应用商店版本,但我需要知道用户是否可以这样做(例如,它的Windows 10+,商店是可用的)。
我可以很容易地检测到微软的10+。
问题是,有许多SKU,如Windows Server和Windows LTSB,它们没有商店,但提供了本质上相同的API。
到目前为止,我已经尝试了:
try
创建Windows.Management.Deployment.PackageManager
的实例
前者在Windows Server上取得了成功,尽管没有商店。
后者,虽然目前已经足够了,但需要手动检查所有非商店SKU,并没有真正解决问题,因为没有什么阻止微软将Windows Store引入Windows 2019 LTSB。
实际上,更具体地说,我想知道当前用户是否可以从Windows应用商店安装桌面桥应用。
发布于 2018-08-04 05:01:37
您可以使用Get-AppxPackage
PowerShell命令来检查是否安装了Microsoft.StorePurchaseApp
包。
首先,使用包管理器控制台安装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();
}
}
https://stackoverflow.com/questions/51679426
复制相似问题