Do you use any or could you recommend any that would prevent browsers from being opened automatically among other things?
I was thinking, that you could unregister opening URL links (HTML ext), that would give you an error, but it would not open any links, not even ones you would probably like to, so it might be a little inconvenient.
Plus the registry settings for browsers are a nightmare. The genius of the guy who wrote BrowserChooser wasn't the glass panel with the browser buttons. It was knowing all the registry settings for default browser.
I have run a couple of registry cleaners and made other browsers default, but I still have settings for a portable browser in my registry. I don't want to take them all out by hand. Too much work.
When I first wrote my Chromium updater, I went the route of modifying the HKCU\Software\Classes keys for file types and protocols. (Like ".htm" and "http")
What I found was that while it worked at least half the time, there were still a lot of strange instances where the browser would be invoked directly. Like in shortcut files that the browser creates when you save a website link to desktop. (Bypassing the file type and protocol registrations)
This was a major disadvantage and defeated the purpose of the script.
My solution was to instead change a single registry key, leaving the others intact. Using a feature of Windows called an Image Hijack, it will intercept every call to the program (in this case "firefox.exe") preserving its full command line along with other very useful information. I found that you could easily redirect the command line to another program (like the script) to process it and also retain the original parent process PID.
This isn't without it's disadvantages though.
Any program or file named "firefox.exe" will have the command line passed to it redirected through the script, and if the parent process is explorer (like when using a portable version of firefox) it will be redirected to the installed version of firefox and the portable version will not work.
The other disadvantage is: if the program pointed to by the "Debugger" value in the Image Hijack registry key is no longer accessible (the script), you'll get a Windows error saying that it cannot find firefox.exe (instead of the script) despite it being exactly where it should be. Which is why I included a batch file to easily remove the registry key should it be necessary
The script also creates a batch file to do the same just in case the original gets lost.
The next time I use this method for anything, I might just wrap it in an inno setup so that there is a proper entry in "Programs and Features" to make its removal simpler.