Hallo Felix,
je nachdem wie umfangreich deine Anwendung ist, lieferst du entweder nur die EXE aus, oder aber du benutzt ein Setup-Programm (z.B. im VS ein Setup-Projekt oder aber ein externes wie z.B. InnoSetup).
Und Einbinden in das Setup-Projekt solltest du alles (wichtige) aus dem "bin/Release"-Verzeichnis, d.h. EXE, Assemblies (DLL), Config-Dateien etc. (nur die *.vshost.*-Dateien brauchst du nicht, da diese nur für das Debuggen im VS sind).
Oder pack alles in eine ZIP-Datei und gib die dann weiter.
Und bzgl. Quellcode ansehen: hatte nicht neulich jemand nach "Obfuskatoren" gefragt? Ach ja, hier:
www.c-sharp-forum.de...ewtopic.php?t=106675 (wobei zu 100% sicherstellen kannst du das nicht...)