Pergunta

Existe alguma abordagem para converter um aplicativo desenvolvido em .NET em um executável nativo (fontes estão incluídas)?

Como instalar todo o quadro (até .NET Framework 3.5 SP1) leva muito tempo - nem sempre os computadores são atualizados a partir da internet. É possível chamar NGen para produzir executáveis ??independentes?

Graças

Nenhuma solução correta

Outras dicas

Não é ainda disponíveis, mas a equipe do projeto Mono está trabalhando em um Ahead of Time compilador que irá fazer o que você está procurando. A intenção é que Mono ao trabalho no iPhone (como Unity), mas ele deve funcionar para todas as plataformas.

Editar: Ele faz suporte Mono x86, mas eu não tenho certeza se eles têm incluído o recurso que os pacotes em classes dependentes ainda (apesar de uma entrevista que ouvi, ele é planejado)

Editar 2: Incluindo dependências é suportados no momento, graças dykam

Não, código NGen'd ainda precisa do quadro - ele só pré-EIC o código em suas próprias assembléias. Exige também que o quadro para a própria CLR.

Eu acredito Mono tem um compilador estático que estiver planejando usar para o iPhone. Eu não sei se isso vai funcionar no Windows, bem embora.

Há costumava ser um produto chamado Thinstall que algumas pessoas usado para isso. É agora chamado ThinApp - Basicamente é virtualização de aplicativos. É comercial, mas você pode muito bem ser capaz de se apossar de uma versão de teste.

Pessoalmente, eu ficaria um pouco preocupado com qualquer produto desse tipo - quando se trata de implantação, desviar-nos do caminho convencional de fazer as coisas soa como uma receita para os lotes de chamadas de suporte. Há apenas uma enorme quantidade de errado movimento. Não estou dizendo que ele não funciona, só que eu seria cauteloso.

Você já olhou para o . NET 3.5 (SP1) cliente Perfil ? Isso pode ajudar a reduzir os requisitos de instalação um pouco.

Com o .NET 3.5 SP1 é possível instalar um subconjunto menor do .NET Framework. Dê uma olhada nesta captura de tela: Propriedades estúdio de projeto visual
(fonte: windowsclient.net )

Você pode usar NGen para tornar a sua aplicação um executável nativo, mas ainda vai depender do framework .Net.

NGen compila os exes para exes nativas, para que eles não precisam ser JIT compilado como eles são executados. Eles ainda são dependentes do enquadramento embora.

Existem algumas empresas comerciais que fornecem produtos para a compilação de conjuntos .NET para exes independentes. Xenocode e vmware de ThinApp . Nem são embora barato.

Alguns obfuscators fizer isso, você teria que fazer isso de antemão embora (antes de enviá-lo para seus usuários). Um exemplo é de remotesoft Salamander .

Você só precisará instalar a versão do .NET que lhe são dirigidas por exemplo .NET1.1 ou .NET2.0

Editar : Se você precisa para atingir a versão 3.5 você precisará instalar o 2.0 e 3.5

ILMerge (Free) pode combinar vários conjuntos em um, mas eu não acho que ele funciona com os tempos de execução do núcleo.

Em suma, eu acho que se você deseja executar programas .NET você vai precisar do .NET Framework instalado.

Não é um produto comercial que as alegações de fazer isso aqui:

http://www.xenocode.com/Obfuscator/

"aplicações Deploy .NET de forma segura, sem .NET Framework Instalar"

Sem idéia do que as desvantagens para isso seria embora

ThinApp (anteriormente Thinstall) da VMware. Utilizado para ser muito caro, no entanto.

http://www.vmware.com/products/thinapp/

O único produto que fundamos para resolver o problema em 2007 foi de Xenocode Postbuild . A partir desse momento nós usamos este produto com sucesso, também usamos suas características muito bom de virtualização.

O único problema é que a versão que comprou não suportam o Windows 7 (onde você não precisa instalar .NET Framework para executar o seu programa compilado com versão <4.0). Então eu escrevi para Xenocode. Eles responderam

A fim de obter apoio para Win 7 você deve atualizar para a versão mais recente do Postbuild (agora chamado .NET Obfuscator ). Win 7 não é uma plataforma suportada para Postbuild de 2007.

Por que não Ngen.exe? http://msdn.microsoft.com/en- us / library / 6t9t5wcf (v = vs.80) .aspx

Ele converte .Net Programs em Native Programs também e você já tê-lo se você tiver o .NET Framework

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