The following article Microsoft Broke Windows 10’s File Associations With a Botched Update appeared recently and states that:
File associations no longer work properly on Windows 10 after a buggy update. Windows won’t let you select certain applications as your defaults.
For example, here’s what happens when we try setting Notepad++ as our default application for .txt files in Windows 10’s Settings app. Windows just ignores our choice and chooses Notepad as the default.
It appears that I’ve experienced the same thing on a Windows 10 Enterprise (1803). Just keep in mind that we see in the above gif that only “registered” applications can be set. Applications like notepad++ isn’t registered and cannot be set and used for the .txt file association.
I’ve set successfully a group policy that defines the .pdf file to be opened by Adobe Reader. It’s still there and works fine. I’ve created it using the official guidance from Microsoft and the ProgID found in the Adobe documentation on this page.
Using my Google-fu, I also found the following articles that shed some lights on how the file associations work:
- Windows 10 – How to configure file associations for IT Pros?
- Windows File Association Explained for Desktop Administrators
- How Do File Associations Populate The ProgId And ApplicationName
- File Types and File Associations
- Guidelines for File Associations and Default Programs
I was not able to define and load a custom xml file where I could set notepad++ as the default .txt handler.
After I removed the anti-tampering protection where Microsoft sets a DENY permission on the
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xxx\UserChoice registry key, I could delete values under that key.
I didn’t need to reverse engineer secret hashes under that key like some known tools (setuserfta) do.
All I did actually is remove anything under the UserChoice, create my own ProgId under the OpenWithProgids key and create its related value under the OpenWithList list.
Bonus: If you use the Reset button under Default Apps, Microsoft will gracefully restore the previous behavior.
With the above function or script, your user (admin or not) is autonomous and can restore his favorite file associations until Microsoft changes the rules…