6 ms·
Here's the relevant commit: https://hg.mozilla.org/mozilla-central/rev/e928b3e95a6c3b7257d0ba475fc2303bfbad1874 https://hg.mozilla.org/mozilla-central/rev/e928b
by lawl 5y ago
Here's the relevant commit: https://hg.mozilla.org/mozilla-central/rev/e928b3e95a6c3b7257d0ba475fc2303bfbad1874 https://hg.mozilla.org/mozilla-central/rev/e928b3e95a6c3b725...
(I think)
- vxNsr 5y agoThis is what I was looking for.
- jftuga 5y agoAn interesting excerpt: // When Windows creates this key, it is read-only (Deny Set Value), so we need // to delete it first. // We don't set any similar special permissions.
- deleted 5y ago[deleted]
- Someone1234 5y agoLooks like it is going to: 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/7e775ce432b599c6daf7ac379aa42f1e9b3b33ed/browser/components/shell/WindowsUserChoice.cpp 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.
- Egoist 5y agoInterestingly, the first two registry steps are actually the same as the previous windows. Having it behind a hash seems way too user hostile though.
- bob1029 5y ago> The whole thing looks super easy for Microsoft to break in a future Windows release unfortunately. There are more aggressive techniques available that cannot be turned off very easily. TrustedInstaller is the first one that comes to mind. If you cant politely ask the registry, you can always nuke edge from orbit. I hope Firefox keeps pushing down this route. Make your installation process as inflammatory as possible. I would encourage a "Remove all existing web browsers" checkbox in the final pane of the installation process - Default selected, of course. Give them a proper taste of their own medicine.
- jefftk 5y ago> "Remove all existing web browsers" checkbox Users having multiple browsers installed that they switch between is a good thing that puts more pressure on browsers to improve, and I would hate to see Firefox or any other vendor push the dynamic farther away from that.
- deoxykev 5y agoLooks like the hard-coded Windows internal GUID is found in C:\Windows\SysWOW64\Shell32.dll If you search for the string: "User Choice set via Windows User Experience", you'll find the GUID used to calculate the hash.
- layer8 5y agoSounds like what SetUserFTA does: https://kolbi.cz/blog/2017/10/25/setuserfta-userchoice-hash-defeated-set-file-type-associations-per-user/ https://kolbi.cz/blog/2017/10/25/setuserfta-userchoice-hash-...
- arsome 5y agoThe fun bit (the generation of the "UserChoice" hash) is here: https://searchfox.org/mozilla-central/source/browser/components/shell/WindowsUserChoice.cpp#194 https://searchfox.org/mozilla-central/source/browser/compone...