En una nota lateral, recuerde que cuando extrae un archivo de sus recursos en el disco y luego ejecuta el código en él, puede activar Windows Data Execution Prevention - básicamente, Windows intenta detectar automáticamente si se supone que algo es código o datos y si se parece a los datos (lo que haría un recurso), impedirá que los datos se ejecuten como código.
Esto se convierte en un problema particularmente pegajoso si su ensamblado .NET se utilizará en una red en lugar de hacerlo desde una unidad local; existen todo tipo de configuraciones de seguridad .NET que pueden evitar que esto funcione correctamente.
Otra opción, y sin conocer los detalles de su proyecto, tome esto con un grano de sal: agregue un archivo .exe.readme a su instalación que describa a los usuarios curiosos o personas de TI por qué hay un ejecutable que no 't expecting en el directorio de instalación :)
Eliminé la etiqueta "incrustada" ya que esta pregunta no está realmente relacionada con los sistemas integrados. –