This should potentially be treated as a security vulnerability.
Download the latest installer from https://www.blizzard.com/en-us/apps/battle.net/desktop
Download an arbitrary version of winhttp.dll (not the one currently in system32 on your system, like, lets say you’re a developer and happened to download one to test something someone experienced on a different OS with that version of winhttp.dll) and leave it in your downloads folder alongside the bnet installer.
Run the bnet installer.
Look at the Errors folder it creates to see the access violations exceptions you get as it – for whatever reason despite being a standalone .exe meant to be put in downloads folders and run – loads up arbitrary code from your downloads folder and tries to run it.
I didn’t test with an arbitrary .dll renamed to winhttp, so it may at least be required to be signed with the MS keys in order to actually run and get the access violations that I got, but boy was that a stressful 1.5 hours of running system integrity checks and virus scans and etc etc (because the dump logs you use DO list the loaded binaries, but do NOT list their file paths). I ran a 6 year old version of your installer and got the same error, but also finally got an application hang which generated a hang report in event viewer which is finally where I saw
which tipped me off that it wasn’t loading the system dll but instead a random debug one I had downloaded for something else last year.
I don’t recall how you disable loading dlls from the exe directory in .NET but you 100% can do it. This clearly is meant to be a standalone exe, in no world should it ever load local dlls and treat them as system dlls.
Please fix this. Kind of worrisome that this bug has existed for 6 years, since I reprod it with a 6 year old version of the installer…