Every time Windows 10 encounters any kind of configuration error, it changes all your file extension changes back to the defaults. So for example, if you have .pdfs open with Adobe Acrobat, you will suddenly find your pdfs opening with Microsoft Edge. Yuck. Same with .png and .jpgs – they will open in the default windows photo viewer, regardless of what fancy photo viewing program you might prefer (I like jpegger).
The thing is, there always seems to be a configuration error. Any time windows upgrade runs, Edge hijacks your pdfs. Any time a service pack fails, everything is rolled back – except your file extension settings. I’ve got a windows update that is permanently never working – why? I don’t know. It’s not a big deal – it just means every time I turn on my computer, my pdfs open with Microsoft Edge.
There’s a dozen posts asking about this problem, and every single one of them, the answer is “check the ‘always open with this program’ checkbox”. No matter how many times the user explains, ‘no, this doesn’t work’, someone else gives this as the correct answer and closes the question. It works for a few days, maybe even a few months, but eventually your .pdfs will start opening with Edge.
In the past, this sort of thing would have been fixed by a script – a small program, maybe just one line, that manually sets the correct entry in the Windows Registry for .pdf, “OpenWith = AcroRead.exe”. That’s it. But starting with windows 8, manual registry edits are no longer allowed. Oh, it will look like it’s allowed – nothing will prevent you from doing it – it just won’t work. That’s because every entry now comes with a “Hash”, a secret value that stores the time of the change and a bunch of other little details, so unless you know how to set the secret hash at the exact moment as the change, it won’t work. Windows will just ignore the change and keep doing things as if you hadn’t changed anything. Infuriating.
But one clever man wrote a solution. Christoph Kolbicz wrote a program to defeat the hash, and allows you to manually change the registry. Unlike every other solution out there, this one worked first try. No more ‘right click -> open With -> choose another app -> wait for list to load -> select program -> click ‘always open with’ -> OK, every day. No more unexpected surprises where you open your .pdf, find all your nice drawings or whatever all distorted, panicking, then realize it opened it in Edge. Again.
If you would like to run them automatically when your computer starts, place the files in your user startup folder (E:\Users\[USERNAME]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup). Replace USERNAME with the correct folder name. It will not work if placed in the system startup folder.
Never run files from an unknown source, so please scan these with whatever virus scanner you may have. You may get a one-time Windows Defender warning, because it doesn’t like anything that edits the registry – you will have to click ‘run anyway’. For full details see the original blog post, and you will see that it is legit. You can change the .bat file however you please to work with any file extension.