Schnelle Antworten, nur so zum Spaß:
Bewährte Praktiken für Installateure? Legen Sie die benutzerspezifische Konfiguration in das Profilverzeichnis des Benutzers (z. B. in SpecialFolders), denn auf diese Weise funktionieren Roaming-Profile. Nur die statischen DLLs und EXEs und so weiter sollten in das Verzeichnis "Program Files" gelegt werden.
Bewährte Verfahren für Benutzeroberflächen? Versuchen Sie, das Prinzip des geringsten Erstaunens zu befolgen. Wenn Sie ein Benutzer sind, der Ihre Software zum ersten Mal sieht, was werden Sie versuchen zu tun? Wie werden Sie sich ihr nähern? Wenn zum Beispiel etwas ein bisschen wie der Explorer aussieht, dann sorgen Sie dafür, dass es wie der Explorer funktioniert. Wenn es ein bisschen wie Office aussieht, lassen Sie es wie Office funktionieren. Mischen Sie das Vertraute zusammen und fügen Sie nur kleine Teile des Unbekannten hinzu, wenn es Sinn macht.
Wo sollte man seine DLLs ablegen? Wann sollte man das GAC verwenden und wie installiert man etwas darin? Legen Sie die DLLs in den Ordner "Programme". Legen Sie nur dann etwas in das GAC, wenn es für mehrere Programme nützlich ist. Und selbst dann sollten Sie nicht zu voreilig sein. Versuchen Sie, Ihre Anwendung xcopy-deployable zu machen.
Dinge, die Programmierer wissen sollten, aber oft nicht wissen (über Windows oder .NET): WPF lernen. So macht Programmieren wieder Spaß.