Вы можете взять ресурс как байт []
byte[] myResBytes = ...;
Assembly asm = Assembly.Load(myResBytes);
// search for the Entry Point
MethodInfo method = asm.EntryPoint;
if(method == null) throw new NotSupportedException();
// create an instance of the Startup form Main method
object o = asm.CreateInstance(method.Name);
// invoke the application starting point
method.Invoke(o, null);
Также см. здесь для более подробной информации
Надеюсь, это поможет