After updating to Windows 10 Anniversary Update, there are lots of new tweaks available for Microsoft Edge and Cortana. After playing around with the new OS, I went to RuanFans VIP site (a site of Operating System Group China for hardcore fans of Windows to report problems) to check if there is any known issue as well as reporting that some of the old issues no longer reproduce (like this and this). An insider has reported a new issue related to Cortana, Microsoft Edge and Internet Explorer.
I translated the report here:
Cortana uses IE when searching, instead of the default browser (e.g. Edge)
- Platform Desktop [ Windows ]
- Channel Bug Report
- Category Apps
- OS Version Build 14379
Discussion / Comments
- wp Zhi Tong: Did you set IE as the default browser?
- [A duplicate of 1, caused by network issues]
- K W: When I use Cortana to search, Edge is launched. Maybe you set the default browser to IE. Please check.
- Maxin Inn [in reply to 1]: No. For sure, I reset the default apps.
- Maxin Inn [in reply to 3, a duplicate of 4]
- K W [in reply to 5]: I’ve asked many people and none of them could reproduce the issue. What is your OS version now?
- Huan Lee: I have the same issue. Default browser is Edge but Cortana launches IE every time. I’ve stopped using Cortana for that reason!
- Huan Lee [in reply to 6]: I have the same issue. Default browser is Edge but Cortana launches IE every time. I’ve stopped using Cortana for that reason! My system version is build 14393.5. The issue has been there before this build.
I immediately tried to reproduce the issue and magically, I did reproduce this issue! Therefore I added a reply:
I have encountered the same issue. I didn’t have this until Anniversary Update.
Now, at this point, let’s stop and think what a Windows Insider should do.
- First, you can notice that the OS version by the time the issue is reported has staled: it’s an Insider Preview (official build before Anniversary Update [build 14393] is November Update [build 10586]) and the official build is now Anniversary Update [build 14393]. The Insider should have tested the issue on Anniversary Update and report whether the issue no longer reproduces or the issue still reproduces and update the OS version field to the latest build.
- Second, there is no detailed step to reproduce the issue. Just a screenshot is far from enough to debug the issue.
- Third, the Insider has not tested the issue on a clean install. (Well I guessed this with my psychic power, but it turned out to be true.)
Since I have been in a state where the issue is present, it is a good start to restore myself to a state where the issue does not reproduce. Reinstalling the system is too far to do for most people, including me. What we can do is to create a new account and log in to it to see if the problem reproduces. And it is pretty nice to have SysInternals with you.
First let’s make sure we already have Microsoft Edge as the default browser. Yes this is true for my account. Now, create a new user, sign in and use Cortana to search. The search result page is opened in Microsoft Edge. Boom! That Insider did not test the issue under a clean install, not even under a new account!
Now switch back to the problematic account, close all Internet Explorer processes (
gps iexplore | spps in PowerShell) and start Procexp.exe from SysInternals. Now hit Cortana, type something and select a search suggestion to open the result page. The result page is opened in Internet Explorer. Now go back to Procexp.exe, we can see that Internet Explorer is started by RuntimeBroker.exe.
Next, we close Procexp.exe, run Procmon.exe, reset the filter to default and add the following rule:
Turn on Auto Scroll and clear the events. We can see the events flooding in. So it is better to close all Windows Store apps first. After that, clear the event again and hit Cortana, type something and move the focus to a search suggestion. And wait, after one or two minutes, RuntimeBroker.exe will start having a rest. If for more than 20 seconds there has been no new event, hit Enter to reproduce the issue and immediately turn off Auto Scroll.
Rewind back to the ‘big cap’ (that what the 20 seconds is for!). We can see the process did a bunch of registry queries after we hit Enter. It is not hard to guess that something is wrong with something inside the registry. This is not always correct but is the first guess to try. Since the problem does not occur for another account on the machine, queries into HKLM are not likely to be the cause. We can see the very first query into HKCU is:
where EdgeKey is
and <OWSR4SR> is OptimizeWindowsSearchResultsForScreenReaders.
Hmm, the name sounds really related to search results. Now perform the Procmon.exe things again in the newly created account. We can see the result becomes:
||EdgeKey\<OWSR4SR>||NAME NOT FOUND|
I switched back to my (problematic) account and renamed <OWSR4SR> to <OWSR4SR>.old. Redoing the search gives Microsoft Edge now. The cause is clear now. Also, setting the value to
0x0 has the same effect.
And two things suddenly stroke to me now. They are left as exercises.
Exercise Why does my account have <OWSR4SR> set to
Answer Because I turned on the Optimize taskbar search results for screen readers setting in Microsoft Edge (inside … > Settings > View advanced settings > Privacy and services). I am determined to make things accessible as you can see from other blog entries and the site itself. And I constantly test accessibility features. But this time I forgot to turn the setting off.
Exercise As the name and the behaviour suggests, Internet Explorer works better with screen readers. Can you find other things related to this proposition?
Answer Narrator tells you it on the first run! If you have already missed the first run of Narrator, simply create a new account for experiment.
- You have set the default browser to Microsoft Edge;
- You have turned on the Optimize taskbar search results for screen readers setting in Microsoft Edge, perhaps accidentally;
When you search with Cortana, the result page is opened in Internet Explorer.
Follow these steps:
- Start Microsoft Edge;
- Tap …, then tap Settings;
- Tap View advanced settings, then find Privacy and services section;
- Turn off the Optimize taskbar search results for screen readers switch;
- Ensure Microsoft Edge is the default browser.
After this, search result page in Cortana should be opened in Microsoft Edge.
Microsoft should really have explained the feature more clearly by stating that turning on the feature will make Cortana use Internet Explorer to show the search result page. Moreover, I personally think, since the setting is mostly related to Cortana instead of Microsoft Edge, it is better to move this setting to Cortana Settings.