Installateure sind das Ergebnis jahrelanger Entwicklung und ein bisschen (vereinfachter) Geschichte hilft zu verstehen, warum sie das tun, was sie tun.
Das Windows 3.1-Modell schlug Konfigurationsdateien im config.ini-Stil pro Anwendung vor, die gemeinsam genutzte Bibliotheken unterstützen, die in Systemordner abgelegt werden, um Duplikate und verschwendeten Speicherplatz zu vermeiden.
Windows 95 führte die Registrierung ein, die einen zentralen Speicher für die Anwendungskonfiguration ermöglicht und viele Konfigurationsdateien ersetzt. Noch wichtiger ist, dass die Windows-Konfiguration am selben Ort gespeichert wurde.
Die Registrierung wurde aufgebläht, weil die Anwendungen nicht nachträglich bereinigt wurden. DLL Hölle geschah als Ergebnis mehrerer Versionen der gleichen gemeinsam genutzten Bibliotheken, die sich gegenseitig überschrieben.
.NET führte das Konzept von app.config ein (fast ini-Dateien mit der zweiten Markierung, diesmal mit etwas mehr Struktur, die Entwicklern das Schreiben manueller Parser erspart). Der GAC wurde in die Versionsfreigabe von Assemblys eingeführt, um die DLL-Hölle zu verhindern.
In Windows XP und Windows Vista hat Microsoft versucht, den Benutzerbereich als Speicherort für Benutzerdaten und Konfigurationsdateien an einem einzigen Standardspeicherort zu definieren, um Roaming-Profile und eine einfache Migration (kopieren Sie einfach Ihr Profil) mit den in den Programmdateien installierten Anwendungen zu ermöglichen .
Der Grund dafür liegt vermutlich darin, dass "Anwendungen in Windows so konzipiert sind, dass sie an einem Ort gespeichert werden, ihre gemeinsamen Abhängigkeiten an einem anderen Ort und die benutzerspezifischen Daten an einem anderen Ort", was dem Konzept des Kopierens eines einzelnen Orts ziemlich entgegensteht.
.. und das ist, bevor Sie Benutzerkonten konfigurieren und Sicherheitsberechtigungen einrichten und sicherstellen, Updates herunterladen und Windows-Dienste installieren müssen ...
xcopy ist der "einfache Fall" und passt mit Sicherheit nicht zu allem.