Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts
For ".html", ".htm" and:
Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations
For "https", "http" then:
- Nuke the UserChoice key because Microsoft put special permissions on it.
- Re-create the UserChoice key setting the ProgId to Firefox and then calculating the hash.
- The hash is calculated using, in part, a hard-coded Windows internal GUID see FormatUserChoiceString here:
https://hg.mozilla.org/releases/mozilla-release/diff/7e775ce...
The whole thing looks super easy for Microsoft to break in a future Windows release unfortunately.