OK. Das ist jetzt mal eine wirklich sachliche Aussage auf deren Basis wir aufbauen können.
Dieser Suchalgorythmus ist aber auch genau der Grund für meine Aussage dass das Reinkopieren der DLL in den Windows-Systemordner nur vielleicht funktioniert. Wenn Windows nämlich bei seiner Suche eine entsprechende DLL einer anderen, nicht passenden Version zuerst findet dann verwendet es möglicherweise diese - ich hab da schon die berühmten "Pferde vor der Apotheke..." gesehen.
Wie du darauf kommst dass Windows bei der Installation keine Abhängigkeiten installiert ist mir trotzdem schleierhaft - gerade was das .NET-Framework betrifft kommt da garantiert eine Nachfrage wenn Komponenten fehlen. Außerdem gibt man das beim Erstellen der Installationsroutine im VisualStudio explizit an ob Abhängigkeiten automatisch installiert, zum Download angeboten, nur nachgefragt etc. werden sollen.
Und schließlich am Rande bemerkt - ich verwende für mich selbst sowohl Windows als auch Linux und werde deshalb keines von Beiden verteufeln oder in den Himmel heben! Beide Systeme sind nicht fehlerfrei und nur so gut wie der der vor dem Bildschirm sitzt