Pergunta

A maneira mais fácil de pensar na minha pergunta é pensar em um comando unix simples e único (embora seja para Windows) e preciso de acesso programático para executá-lo.

Eu tenho um único executável baseado em linha de comando que executa alguma unidade de trabalho.Quero chamar esse executável com a biblioteca de processos .net, como posso fazer com qualquer outro executável.

No entanto, percebi que há potencial para a dll se tornar inútil ou quebrar com atualizações não intencionais do executável ou de um executável inexistente.

É possível executar o executável a partir do objeto Process na estrutura .net, como faria com um arquivo executável externo?

Foi útil?

Solução

Não, você não pode executá-lo diretamente.Você provavelmente poderia descompactá-lo em um diretório temporário e executá-lo a partir daí.

Outras dicas

Encontrei um artigo que contém alguns exemplos de código do que @garretmagin diz:

https://web.archive.org/web/20081229032509/http://www.cs.nyu.edu/~vs667/articles/embed_executable_tutorial/

É aqui que PInvoke pode ajudar?

Dependendo da funcionalidade do programa de linha de comando que você deseja executar, poderá ser possível duplicar a funcionalidade no PowerShell, onde você pode incorporar o tempo de execução do PowerShell em seu aplicativo .NET.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top