Απλές ερωτήσεις με σύνθετες απαντήσεις...
1.Αν έχεις γράψει managed Κώδικα τότε ο φίλος σου θα πρέπει να εχει εγκατεστημένη την αντοίστοιχη έκδοση .Net framework για να μπορέσει να το τρέξει.
2.To exe (αν δεν έχεις πειράξει κάτι άλλο) είναι στο αντίστοιχο directory/path με το όνομα \Debug ή \Release ανάλογα πως έκανες build, με το όνομα: <ProjectName>.exe Αυτό βέβαια μπορείς να το βρεις και από μόνος σου με ένα απλό ψάξιμο... δεν χρειαζότανε ολόκληρο post.
3. Στην περίπτωση που τα πράγματα γίνονται πιο περίπλοκα, με DLLs κλπ κλπ π.χ. αν χρησιμοποιήσεις βιβλιοθήκες τρίτων κατασκευαστών πιθανότατα να χρειαστεί να δώσεις και κάποιες Dlls που τα συνοδεύουν. Αυτό θα το δεις από το project σου στον Solution Explorer στα references... εκεί κάνοντας Δεξί click + Properties σε κάθε ένα Node θα πρέπει να δεις (στα properies) το path και την DLL που απαιτείται. Αυτές, αν δεν ανήκουν στο σύστημα (δηλαδή δεν είναι generic Dlls του .ΝΕΤ) πρέπει να τις δώσεις μαζί με το ΕΧΕ σου!
4.α. Αν έχεις και βάση δεδομένων, τότε τα πράγματα περιπλέκονται από άσχημα εως πολύ άσχημα. Αν πχ. έχεις SQL Server 2005 Express και ο "φίλος" σου δεν έχει τίποτα! πρέπει να γίνει εγκατάσταση του SQL server και εκεί.
4.β. Αν εχει και ο "φίλος" σου εγκατεστημένο τον ίδιο SQL Server τότε απλά πρέπει να κάνεις create την αντίστοιχη Βάση που χρησιμοποιείς εσύ. Συνήθως αυτό γλινεται με script που θα φτιάξεις εσύ ο ίδος και θα το τρέξεις είτε μόνος σου είτε αυτόματα.
4γ. Αν ο "φίλος" μας (τόση ώρα που μιλάμε έγινε και δικός μας φίλος

) έχει άλλη version SQL Server από αυτήν που χρησιμποποιείς εσύ τότε πρέπει να ψάξεις αν είναι compatible με την δική σου... π.χ. αν είναι επόμενη έκδοση κατά πάσα πιθανότητα δεν θα έχεις problems...
Όλα τα παραπάνω μπορείς να τα αυτοματοποιήσεις με κάποιο έτοιμο πρόγραμμα που να κάνει installation.... Μη με ρωτήσεις ποιο.... just f-Google it!!!
Nothing to declare...