Usuário com melhor resposta
Aplicação dá erro em setup criado pelo VS

Pergunta
-
Pessoal, criei um aplicativo com o VS 2010 em C# e banco SQL Server Express (nativo).
Gerei o setup com o Setup Wizard mas sem a dependencia so SQL Server pois vou apontar para um servidor e nao local.
Porém o setup dá erro em outras máquinas, quero dizer, ele instala mas a aplicacao nao abre.
O que pode ser? Será que vai precisar instalar o sql server em todas as máquinas cliente?
Tecnólogo em Análise e Desenvolvimento de Sistemas http://letrasdemusicas.webng.com
Respostas
-
Bom galera, depois de vários dias e vários testes, descobri a falha.
É uma coisa bem besta, mas eu sinceramente não sabia que isto ocorreria, então vou deixar a solução aqui porque acho que pode ajudar alguém no futuro.
O ícone principal da minha aplicação tem as medidas de 256x256 e o Windows XP não suporta essa qualidade de imagem para os ícones. Como estou desenvolvendo sobre o Win 7 não dava erro aqui, só na máquina cliente. Foi só tirar um único ícone e todo o sistema funcionou perfeitamente.
É galera, é isso aí, vivendo e aprendendo!!!
Tecnólogo em Análise e Desenvolvimento de Sistemas
http://letrasdemusicas.webng.com- Sugerido como Resposta [J]unior quarta-feira, 20 de julho de 2011 19:01
- Marcado como Resposta AndreAlvesLimaModerator quarta-feira, 20 de julho de 2011 19:07
Todas as Respostas
-
Jefferson,
Você sabe qual é o erro que está acontecendo?
Entre as possíveis causas pode ser alguma DLL que está faltando ou alguma exceção não tratada.
at.,
Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono) -
Então Rogério, não sei qual o erro.
No meu note, eu gerei o setup, inclusive pelo clickonce, e funciona os dois.
No note do meu colega, com Win XP, ele instala, reinicia por causa do .net framework e quando clica no icone, dá uma mensagem falando que a aplicação encontrou um erro e pede desculpas pelo inconveniente, mas não diz o erro. Difícil assim, não é?!
Tecnólogo em Análise e Desenvolvimento de Sistemas http://letrasdemusicas.webng.com -
Jeferson,
Tente colocar um código para tratar as exceções na aplicação.
No seu program.cs, coloque o seguinte código na primeira linha do Main():
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) { MessageBox.Show(e.Exception.Message); }
Dessa forma você conseguirá pegar o erro que possa estar acontecendo.at.,
Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono) -
-
Então provavelmente está faltando alguma DLL ou a .NET Framework não foi instalada corretamente ou o Windows XP está desatualizado.
Verifique se o ultimo service pack do XP e a versão da .NET Framework que você usa estão instalados corretamente.
Outra coisa...
Tente criar uma aplicação vazia somente com um form e executa-la nesta máquina para ver se irá funcionar.
at.,
Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono) -
-
Jeferson,
Normalmente essa mensagem de que encontrou erros e pede desculpas pelo inconveniente acontece quando você compila o seu sistema em um computador x64 utilizando a opção "Any CPU" e instala o mesmo em um computador x86... Será que não foi isso que aconteceu com você? Se sim, compile o seu sistema utilizando a opção x86 e tudo vai funcionar normalmente...
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
André, o Configuration Manager está ajustado para x86.
Agora tem um detalhe: fiz um teste criando uma aplicação com um form apenas e vazio. Funcionou.
Depois disso, adicionei vários componentes: também funcionou.
Na terceira compilação, adicionei referências do Word e Excel. Tudo ok.
Depois adicionei referência ao Lotus Notes, também funcionou.
Por último, adicionei o using System.Data.SqlClient, adicionei o código abaixo para teste e rodar no cliente deu esse erro: "Object reference not set to an instance of an object" e pediu para verificar no final da mensagem como se faz para chamar o JIT ao invés dessaa janela.
public SqlDataReader Desligamento() { SqlDataReader dr = null; try { strSql = ""; return dr; } catch (Exception) { return null; } }
Tecnólogo em Análise e Desenvolvimento de Sistemas
http://letrasdemusicas.webng.com -
Bom galera, depois de vários dias e vários testes, descobri a falha.
É uma coisa bem besta, mas eu sinceramente não sabia que isto ocorreria, então vou deixar a solução aqui porque acho que pode ajudar alguém no futuro.
O ícone principal da minha aplicação tem as medidas de 256x256 e o Windows XP não suporta essa qualidade de imagem para os ícones. Como estou desenvolvendo sobre o Win 7 não dava erro aqui, só na máquina cliente. Foi só tirar um único ícone e todo o sistema funcionou perfeitamente.
É galera, é isso aí, vivendo e aprendendo!!!
Tecnólogo em Análise e Desenvolvimento de Sistemas
http://letrasdemusicas.webng.com- Sugerido como Resposta [J]unior quarta-feira, 20 de julho de 2011 19:01
- Marcado como Resposta AndreAlvesLimaModerator quarta-feira, 20 de julho de 2011 19:07