From 66380cc1d3acdb2c6dbf9a42f515cc907581490c Mon Sep 17 00:00:00 2001 From: Matt S <8870594+RuggMatt@users.noreply.github.com> Date: Wed, 18 Jun 2025 18:24:57 -0600 Subject: [PATCH] Fix default browser detection for Windows 11 24H2 by checking UserChoiceLatest\ProgId registry key (#40115) ## Summary of the Pull Request This actually fixes an issue with #39794. What I failed to mention in the original issue was the additional path under the registry that the new key is located under. Instead of the key being stored directly in `UserChoiceLatest` in a key named `ProgId`, the path also includes a second `ProgId` as well. Copilot tried to fix this issue in #40035, but because I had failed to mention the additional `ProgId` in the path, it was not included in Copilot's fix. Therefore, the true new path is `.../UserChoiceLatest/ProgId` ## PR Checklist - [x] **Closes:** #39794 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx ## Detailed Description of the Pull Request / Additional comments ![image](https://github.com/user-attachments/assets/25aeb494-c323-4db4-8897-cdc52bcade52) ## Validation Steps Performed --- .../Helpers/DefaultBrowserInfo.cs | 2 +- src/modules/launcher/Wox.Plugin/Common/DefaultBrowserInfo.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WebSearch/Helpers/DefaultBrowserInfo.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WebSearch/Helpers/DefaultBrowserInfo.cs index 90eb0e1c3b..87b87c7ff5 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WebSearch/Helpers/DefaultBrowserInfo.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WebSearch/Helpers/DefaultBrowserInfo.cs @@ -79,7 +79,7 @@ public static class DefaultBrowserInfo try { var progId = GetRegistryValue( - @"HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoiceLatest", + @"HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoiceLatest\ProgId", "ProgId") ?? GetRegistryValue( @"HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice", diff --git a/src/modules/launcher/Wox.Plugin/Common/DefaultBrowserInfo.cs b/src/modules/launcher/Wox.Plugin/Common/DefaultBrowserInfo.cs index b848ceb654..a5796efeb1 100644 --- a/src/modules/launcher/Wox.Plugin/Common/DefaultBrowserInfo.cs +++ b/src/modules/launcher/Wox.Plugin/Common/DefaultBrowserInfo.cs @@ -80,7 +80,7 @@ namespace Wox.Plugin.Common try { string progId = GetRegistryValue( - @"HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoiceLatest", + @"HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoiceLatest\ProgId", "ProgId") ?? GetRegistryValue( @"HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice",