I try to avoid Microsoft products these days (modern dotnet is pretty nice though), but from my past experience, I believe every bit of this and have run into all of these with other software, including the requiring of multiple versions of MSSQL Embedded, which is just unholy.
Not really Microsoft’s fault, except that their exceptional backwards compatibility means vendors get away with requiring 16-year-old libraries.