Was könnte ein .net-Programm daran hindern, auf einem PC ausgeführt zu werden?

2

Wir haben eine .net 3.5 SP1-Anwendung und einer unserer Benutzer kann das Programm nicht ausführen. Sie erhalten den Windows-Dialog: "X funktioniert nicht mehr. Ein Problem hat dazu geführt, dass das Programm nicht mehr richtig funktioniert ...".

Angenommen, das .net Framework und das Programm sind korrekt installiert, was könnte das Programm sonst davon abhalten, auf einem PC ausgeführt zu werden, auf dem andere Software ausgeführt werden kann?

Update: Ich habe .Net mithilfe der MSI-Reparatur repariert und es zeigte immer noch dasselbe Verhalten. Paint.Net wurde heruntergeladen, um sicherzustellen, dass es nicht nur meine Software ist und dasselbe passiert ist. Die Maschine war ein 4 Monate alter Dell-Laptop, daher habe ich unseren Kunden gebeten, den Dell-Support zu testen. Es schien ihnen egal zu sein, dass es keine .Net-App (wtf?!?!) Ausführen würde und System-Rollbacks nichts taten. Die Person musste die Dell-Wiederherstellungsdiskette ausführen, um das Problem am Ende zu lösen!

Sean Kearon
quelle
1
Erhalten sie den Dialog sofort? Stellt Ihre Software eine Verbindung zum Internet her? Außerdem fallen mir eine Reihe weiterer Fragen ein. Können Sie uns bitte nähere Angaben machen?
ChrisF
1
Können Sie mehr Details darüber erfahren, was den Fehler verursacht hat? Wenn Sie zu den Details gelangen, wird normalerweise die geworfene Ausnahme ausgegeben.
Heavyd
Welche Version von Windows? Funktioniert es unter anderen Windows-Versionen als der von Ihnen verwendeten? Werden andere .NET 3.5-Anwendungen ausgeführt? Ist dies nicht der Fall, liegt möglicherweise eine beschädigte Installation vor. In diesem Fall müssen Sie das Programm deinstallieren (oder, falls dies nicht der Fall ist, das .NET-Bereinigungsprogramm ausführen : blogs.msdn.com/b/astebner/archive/2006/05/30/611355.aspx ) und anschließend neu installieren .
Force Flow
@ Chris - ja, der Dialog erscheint sofort. @heavyd - es gibt keine weiteren Details im Fehlerdialog. @Force Flow - Vista x32, nicht sicher über andere Anwendungen, aber den Benutzer gebeten, Paint.Net zu installieren. Danke auch für den Hinweis auf die Bereinigung.
Sean Kearon

Antworten:

0

Die Laufzeitumgebung hängt normalerweise einen Standardausnahmehandler ein, der die Ausnahmemeldung im Ereignisprotokoll protokolliert oder für den Benutzer veröffentlicht (wenn sie für den Debug-Modus kompiliert wurde und WinForms verwendet). Es gibt einige seltene Fälle, in denen keine ordnungsgemäße Ausnahmemeldung angezeigt wird, z. B. wenn eine BadImageFormatException (beschädigte ausführbare Datei), eine StrongNameExcpetion oder eine StackoverflowException auftritt.

Am besten starten Sie den Prozess in einem Debugger (CorDbg ist in Ordnung, oder VisualStudio, wenn Sie es installiert haben).

Anderenfalls überprüfen Sie das Ereignisprotokoll. Wenn dies nicht hilft, verwenden Sie DebugView (es kann keine Verknüpfung hergestellt werden, aber es ist der erste Treffer auf Google), um die Debug-Ausgabe des Absturzprozesses abzurufen.

Johannes Rudolph
quelle
Danke Johannes, kann leider keinen Debugger ausführen, da er auf dem PC eines Benutzers läuft.
Sean Kearon
Hat DebugView geholfen?
Johannes Rudolph