【问题标题】:How to check if Microsoft Edge Chromium is installed in C#如何检查是否在 C# 中安装了 Microsoft Edge Chromium
【发布时间】:2020-01-20 11:55:26
【问题描述】:

在 C# 中检测 Microsoft Edge Chromium 是否已安装并且不检测 Edge 仍在系统中而 Chromium 应覆盖“旧”Edge 的最佳方法是什么(最好使用 Windows 注册表)?

对于detecting old Edge,我们通常在注册表中使用本地Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\Microsoft.MicrosoftEdge_ 包。

【问题讨论】:

    标签: c# microsoft-edge


    【解决方案1】:

    我建议您在下面的位置检查浏览器条目。

    HKEY_CURRENT_USER\SOFTWARE\Clients\StartMenuInternet
    
    or
    
    HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
    

    子项 HKEY_CURRENT_USER\SOFTWARE\Clients\StartMenuInternet 描述了当用户单击“开始”菜单上的 Internet 图标时启动的 Internet 浏览器。如果该子项为空或丢失,则“开始”菜单上的 Internet 图标设置为存储在 HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet 的第二个位置的系统默认值,该位置描述了所有 Internet 浏览器应用程序已安装在系统上。

    如果安装了 MS Edge Chromium,那么它将在列表中。

    参考资料:

    1. How to find all the browsers installed on a machine

    2. How to Register an Internet Browser or Email Client With the Windows Start Menu

    【讨论】:

    • 为了将旧 Edge 与新 Chromium 分开(系统中可能只有一个 - 如果安装了 Chromium,Microsoft 会隐藏旧 Edge),我们假设如果 Microsoft Edge 在“StartMenuInternet”注册表列表中,则存在 Edge Chromium,否则我们会像问题中描述的那样检查 PackageRepository。
    【解决方案2】:

    1) 查找C:\Windows\SystemApps\Microsoft.MicrosoftEdge_.....\AppxManifest.xml

    2) 解析AppxManifest.xml,找到Version,example

    Version="44.18362.449.0"
    

    3) 检查(伪代码)

    If (Version > 79) {Blink}
    Else {EdgeHtml}
    

    Release history

    【讨论】:

    • 看起来提到的版本只对应于旧的 Edge(不是 Chromium)。有没有办法使用 Windows 注册表找到它?
    • 文件夹名称\HKEY_CLASSES_ROOT\ActivatableClasses\Package\Microsoft.MicrosoftEdge_44.18362.449.0_neutral__.....
    猜你喜欢
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 2020-10-18
    • 2011-06-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多