Why is the binary package putting all the DLLs in the gnucash folder?
This is caused by a fundamental technical fault of the MS Windows operating system. Gnucash depends on approx. 50 other DLLs. We don’t know whether any of those happen to exist already in your windows/system32 folder. If they did, the are probably vitally important for some other application on your computer and must not be replaced by the version that is required by and shipped with gnucash. If gnucash had overwritten an existing DLL in your windows folder, this would have killed that other application. This should better be avoided, and on MS Windows the only possible way to really avoid crashing your other existing application unfortunately requires shipping our own DLL into our own Program folder of gnucash. That’s the reason.