none
Gerar .exe com todo conteúdo RRS feed

  • Pergunta

  • Boa tarde.

    Fiz uma aplicação em WFP, um form com 3 telas. Cada tela com sua configuração, imagens e programação.

    Eu gostaria de gerar um .exe (não setup) que executasse todo o conteúdo diretamente do .exe.

    Quando eu compilo e pego o .exe da pasta bin funciona, mas só se ficar na pasta bin. Se eu tiro o exe da pasta bin ele não funciona mais.

    Acho que tem uma versão do uTorrent que faz exatamente isto. Ele não instala, ele executa tudo diretamente do exe.

    Alguém sabe como se faz isto?

    Vlw!


    Danilo Oliveira www.coffeeandcodes.com.br

    sexta-feira, 10 de maio de 2013 18:56

Respostas

Todas as Respostas

  • na bin tem dll também?
    sexta-feira, 10 de maio de 2013 20:46
  • Sim.

    No diretório Debug tem, mas no Release não.


    Danilo Oliveira www.coffeeandcodes.com.br

    sexta-feira, 10 de maio de 2013 20:51
  • Pode usar a ferramenta ILMerge para juntar tudo no .exe

    http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=17630

    Att.


    Fabio Rosa.

    sexta-feira, 10 de maio de 2013 20:55
  • Boa tarde, Fabio.

    Eu estou tentando instalar este ILMerge, mas não consigo.

    Na instalação ele diz que eu preciso ter a versão do Framework, mas não especifica qual.

    Eu li em algum lugar que ele é compatível com a versão 2.0, mas tento instalar a versão 2.0 e não consigo.

    Diz que recisa ser instalado pelo Turn Windows features on or off, mas lá não tem a versão 2.0 pra instalar.


    Danilo Oliveira www.coffeeandcodes.com.br

    segunda-feira, 13 de maio de 2013 15:37
  • Danilo, você tem o Nuget instalado no seu Visual Studio? Se tem, experimenta instalar pelo NuGet. Pelo que vi na página a versão atual está rodando sobre o .NET Framework 4.0, mas ele consegue juntar assemblies do 2.0 em diante...

    Att.


    Fabio Rosa.

    segunda-feira, 13 de maio de 2013 16:39
  • Bom dia, Fabio.

    Consegui instalar o ILMerge, mas agora estou com algumas dúvidas de como colocar diretórios junto com o .exe no merge.

    Estou usando a instução:

    C:\...\Release\ILMerge.exe /target:winexe /out:ProdutoFinal.exe Produto.exe

    Ao executar o bat funciona, mas eu preciso colocar alguns diretórios juntos. Exemplo, dentro do Release tem o diretório images, onde estão todas as imagens. Mas ao fazer:

    C:\...\Release\ILMerge.exe /target:winexe /out:ProdutoFinal.exe Produto.exe images

    o bat para de funcionar.


    Danilo Oliveira www.coffeeandcodes.com.br

    quarta-feira, 15 de maio de 2013 14:01
  • Eu ainda estou tentando.

    Se alguém souber de outra alternativa é só falar. ;-)


    Danilo Oliveira www.coffeeandcodes.com.br

    quarta-feira, 15 de maio de 2013 15:20
  • Danilo, na verdade o ILMerge só junta dll's e exe's... pastas com conteúdos acho que não.... teria que colocar estas imagens como resources do seu projeto... aí elas ficam dentro do exe...

    Fabio Rosa.

    quarta-feira, 15 de maio de 2013 15:56
  • E como eu faço isto, Fabio?

    Danilo Oliveira www.coffeeandcodes.com.br

    quarta-feira, 15 de maio de 2013 16:31
  • Aqui tem um exemplo:

    http://www.macoratti.net/10/11/vbn_embr.htm


    Fabio Rosa.

    quarta-feira, 15 de maio de 2013 16:41
  • Blz, ficou quase 100%

    O problema é que ainda possui um arquivo xml e um config. Não sei como encapsular tudo.

    Mas estou tentando. Ficando pronto eu aviso o resultado se deu certo.


    Danilo Oliveira www.coffeeandcodes.com.br

    sexta-feira, 17 de maio de 2013 13:44
  • Blz,

    Só um comentário sobre colocar um arquivo config embutido no assembly... Bom, se ele vai estar embutido, não tem necessidade de ser um arquivo config... pois o objetivo do App.Config ou Web.Config é de permitir configuração pelo usuário... então pode ser um XML normal... Se precisar que exista um App.Config por algum motivo... terá que criar em runtime ele e depois apagar a cada vez... (é trabalhoso, mas é possível).

    Para ler um XML embutido: http://dotnet-snippets.com/dns/c-loads-an-embedded-resource-file-of-the-calling-assembly-SID579.aspx

    Att,


    Fabio Rosa.


    • Editado Fabio Rosa sexta-feira, 17 de maio de 2013 14:52
    • Marcado como Resposta DaniloTec quarta-feira, 22 de maio de 2013 21:09
    sexta-feira, 17 de maio de 2013 14:51
  • Neste config estão as configurações do WCF que ele acessa. Por isto tem um config.


    Danilo Oliveira www.coffeeandcodes.com.br

    sexta-feira, 17 de maio de 2013 17:57
  • Consegui.

    Eu coloquei todas as imagens como Embedded Resources e o app.config eu configurei no código em tempo de execução.

    Com estas alterações o .exe ficou independente.

    Vlw, Fábio.


    Danilo Oliveira www.coffeeandcodes.com.br

    quarta-feira, 22 de maio de 2013 21:09