Edge deflected

EdgeDeflector 1.1.1.0 updated for Windows 10 build 16241 onwards

I released EdgeDeflector half a year ago as a utility that let users enforce their default web browser choice throughout Windows; even where Microsoft would force users to use their Edge web browser instead of the system default.

Since then EdgeDeflector has grown unexpectedly popular, and just as unexpectedly existing users will run into an unexpected problem in an upcoming versions of Windows 10.

Over the last six months, EdgeDeflector has been featured on many popular websites around the web including:

I’m both intrigued and surprised by the popularity of EdgeDeflector. It’s evidence that people are interested in using Cortana in Windows 10, and that they care about their preferred web browsers. I hope Microsoft will stop diverting traffic away from the system default web browser to artificially boost the popularity of their Edge web browser.

Unfortunately, EdgeDeflector will stop working in Windows 10 builds after 16241. The current main build that most users will be using is the Creator’s Update build number 15063. Newer builds are at the time of writing only available to Windows Insiders, but is expected to be made generally available later this year.

Users must update to EdgeDeflector version 1.1.1.0 to resolve this problem. Please download the latest version of EdgeDeflector from GitHub releases.

What changed?

Due to changes in how Microsoft construct the microsoft-edge: URI scheme, Windows will report that “EdgeDeflector has stopped working” and links will not be opened. Microsoft seem to have added some additional telemetry to tighten the integration of Cortana and Microsoft Edge, and this resulted in a unforeseen format change in the links that EdgeDeflector intercepts.

The new URI format is only used in Cortana, and looks like the following:

microsoft-edge:?{telemetry-data}&url={url-encoded-link}

I believed I’d been clever and anticipated such changes by always verifying that I had a working URI. Unfortunately, I forgot to actually implement proper exception handling for this part of the code which lead to the crash. I did think about such an eventuality, but my execution was all but perfect..

No auto-update.

There is no auto-update system built-in to EdgeDeflector. This would entail administrative and infrastructure costs as well 2–300 times more code than the current codebase of today.

Users can subscribe to EdgeDeflector’s AppCast to be notified of new releases. An AppCast is a fancy way of saying that it’s a syndication feed that is updated for every new release.

This isn’t an ideal solution, but I believe it’s still the right choice for a utility program as small as EdgeDeflector.

Thanks to Mark Young for contributing code to this release, and thank you all for your interest in EdgeDeflector! I do apologize for the unfortunate crash problem that made you have to go out on the web to find and read this blog post.