Nota: quando si estrae un file dalle risorse su disco e si esegue il codice su di esso, è possibile che venga attivato Windows Data Execution Prevention: in pratica, Windows tenta di rilevare automaticamente se si suppone che qualcosa debba essere codice o dati e se assomiglia ai dati (quale sarebbe una risorsa), allora impedirà che i dati vengano eseguiti come codice.
Questo diventa un problema particolarmente appiccicoso se l'assembly .NET verrà utilizzato su una rete anziché da un'unità locale - ci sono tutti i tipi di configurazioni di sicurezza .NET che potrebbero impedire il corretto funzionamento di questa.
Un'altra opzione, e non conoscendo i dettagli del tuo progetto, prendi questo con un pizzico di sale: aggiungi un file .exe.readme alla tua installazione che descriva a qualsiasi utente curioso o personale IT perché c'è un eseguibile che non sono Mi aspetto nella directory di installazione :)
Ho rimosso il tag "incorporato" poiché questa domanda non è realmente correlata ai sistemi incorporati. –