Como executar o executável não gerenciado da memória, em vez do disco

Eu quero incorporar um utilitário de linha de comando no meu aplicativo c #, para que eu possa pegar seus bytes como uma matriz e executar o executável sem salvá-lo no disco como um arquivo separado (evita armazenar executável como arquivo separado e evita a necessidade de capacidade escreva arquivos temporários em qualquer lugar).

Não consigo encontrar um método para executar um executável apenas de seu fluxo de bytes. O Windows exige que ele esteja em um disco ou existe uma maneira de executá-lo da memória? Se o Windows exigir que ele esteja no disco, existe uma maneira fácil no .NET framework para criar um drive / arquivo virtual de algum tipo e mapear o arquivo para o fluxo de memória do executável?

questionAnswers(4)

yourAnswerToTheQuestion