I am always confused when .exe installer asks me if I want to overwrite Mercurial.ini I pretty sure I never edit any file in "Program Files", because there is my personal setting in "Users" and even if I need to make some configuration global the proper way for this is to place file in "All users" and look it up from there.
I tend to disagree with you: if someone is crazy enough to edit the file in the installation folder (was quite easy to do so in Windows XP for example), he certainly does not want to have his profile erased on the next upgrade. Better safe than sorry. Note that I fully agree with you and any modification should be done in the profile folder.
Why not to ship Mercurial.ini.in and let people rename it if they want their custom config? The dialog is unhelpful, because it doesn't show the diff, so you can't tell if you need to overwrite it for new version or not anyway.
Mercuria.ini is documented as something the user can customize. http://selenic.com/hg/rev/c4ce077588d0 introduce a new way for packagers to ship config that users never should modify and silently could/should be overwritten. Proper handling of that in the .exe installers requires some windows users to step up and maintain it.
Deprecating and removing Mercurial.ini seems like a way to go then.
Fixed by http://selenic.com/repo/hg/rev/5ec7b2cb577b Pascal Quantin <pascal.quantin@gmail.com> win32: remove Mercurial.ini file from Inno Setup installer (issue4435) (please test the fix)
And how can I test this? https://bitbucket.org/tortoisehg/thg-winbuild/downloads/ linked from http://mercurial.selenic.com/wiki/Download#Windows seems defunkt. I also found some references to Mercurial.ini that are likely to be revisited. https://stackoverflow.com/questions/2658419/mercurial-win-instal-no-ini-files http://mercurial.selenic.com/wiki/WindowsInstall Mercurial.ini seems like a kludge. `hgrc` and `.hgrc` seem perfectly fine. Those people who can't open non-ini file from Windows Explorer use TortoiseHg anyway. http://www.selenic.com/mercurial/hgrc.5.html
You will find some test binaries here: 32 bits: https://www.dropbox.com/s/n49se1nkg5y59zq/Mercurial-3.2%2B82-3207e7a5a1d8.exe?dl=0 64 bits: https://www.dropbox.com/s/pyt82hgjlz8eii2/Mercurial-3.2%2B82-3207e7a5a1d8-x64.exe?dl=0
Bulk testing -> fixed
Sorry, wasn't able to test this - not on Windows ATM. But it is nice to see this fixed.