O que poderia impedir a execução de um programa .net em um PC?

2

Temos um aplicativo .net 3.5 SP1 e um de nossos usuários não pode executar o programa. Eles exibem a caixa de diálogo do Windows: "X parou de funcionar. Um problema fez o programa parar de funcionar corretamente ...".

Supondo que o .net Framework e o programa estejam instalados corretamente, o que mais poderia impedir a execução do programa em um PC que pode executar outro software?

Atualização: Consertei o .Net usando o reparo do MSI e ele ainda exibia o mesmo comportamento. Baixei o Paint.Net para garantir que não era apenas o meu software e que aconteceu a mesma coisa. A máquina era um laptop Dell com 4 meses de idade, então pedi ao nosso cliente para experimentar o suporte da Dell. Eles não pareciam se importar com o fato de ele não executar um aplicativo .Net (wtf?!?!) E as reversões do sistema não fizeram nada. A pessoa teve que executar o disco de restauração da Dell para resolver o problema no final!

Sean Kearon
fonte
11
Eles entendem o diálogo imediatamente? O seu software se conecta à internet? Além disso, uma série de outras questões vem à mente. Você pode fornecer mais detalhes, por favor.
ChrisF
11
Você pode obter mais detalhes sobre o que causou o erro? Normalmente, se você conseguir obter os detalhes, a exceção lançada será dada.
heavyd
Qual versão do Windows? Funciona em outras versões do Windows que você não está usando? Outros aplicativos .NET 3.5 são executados? Caso contrário, você pode ter uma instalação corrompida. Se for esse o caso, será necessário desinstalar (ou, se já estiver ruim o suficiente, execute o utilitário de limpeza do .NET: blogs.msdn.com/b/astebner/archive/2006/05/30/611355.aspx ) e reinstale .
Force Flow
@ Chris - sim, o diálogo aparece imediatamente. @heavyd - não há outros detalhes na caixa de diálogo de erro. @Force Flow - Vista x32, não tem certeza sobre outros aplicativos, mas pediu ao usuário para instalar o Paint.Net. Obrigado pelo ponteiro para a limpeza também.
Sean Kearon

Respostas:

0

O tempo de execução normalmente conecta um manipulador de exceção padrão que registra a mensagem de exceção no log de eventos ou a publica no usuário (quando compilado para o modo de Depuração e usando o WinForms). Existem alguns casos raros em que você não conseguirá receber uma mensagem de exceção adequada, como quando ocorre uma BadImageFormatException (arquivo executável corrompido), uma StrongNameExcpetion ou StackoverflowException.

A melhor coisa a fazer é iniciar o processo dentro de um Depurador (o CorDbg está bom ou o VisualStudio, se você o tiver instalado).

Caso contrário, verifique o log de eventos. Se isso não ajudar, use o DebugView (não é possível vincular, desculpe, mas é o primeiro hit no google) para obter a saída de depuração do processo de falha.

Johannes Rudolph
fonte
Obrigado Johannes, não consigo rodar em um depurador, receio, pois está no PC de um usuário.
Sean Kearon 30/08/10
DebugView foi de alguma ajuda?
Johannes Rudolph