É possível incorporar e usar um executável portátil em uma DLL .net?
-
09-06-2019 - |
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?
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:
É 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.