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!
fonte
Respostas:
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.
fonte