问题:使用C#我们如何检查10`UWP上是否安装了应用程序Windows
可能的目标:我真正的动机是建立一个微软Office应用程序中VS2017使用Microsoft.Office.Interop与像UWP应用程序交互这一解释在这里。但是办公应用会首先检查是否安装了所需的 UWP 应用。
对于旧的 Windows 32 位和 64 位应用程序,我们可以使用以下各种方法检查是否安装了应用程序。我想知道 Windows 10 上的 UWP 是否有类似的东西:
private static bool IsSoftwareInstalled(string softwareName)
{
var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") ??
Registry.LocalMachine.OpenSubKey(
@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall");
if (key == null)
return false;
return key.GetSubKeyNames()
.Select(keyName => key.OpenSubKey(keyName))
.Select(subkey => subkey.GetValue("DisplayName") as string)
.Any(displayName => displayName != null && displayName.Contains(softwareName));
}
Run Code Online (Sandbox Code Playgroud)
然后用一条if语句来调用它:
if (IsSoftwareInstalled("OpenSSL"))
Run Code Online (Sandbox Code Playgroud)
你可以从 Win32 应用调用 PackageManager.FindPackageForUser API 来检查是否为当前用户安装了 UWP。
| 归档时间: |
|
| 查看次数: |
1265 次 |
| 最近记录: |