Windows program fejler på anden PC

Tags:    c# winforms

Jeg har lavet et Windows program (Winforms) som jeg har testet på en Dansk Windows XP (32-bit) med .NET 3.5 framework og en Dansk Windows 7 (32-bit) med .NET framework 4.0 installeret.

Nu er programmet så installeret på en Windows XP med .NET 4.0 frameworket installeret og den kører fransk sprog.

Problemet er at den kommer med en exception når han kører programmet og det jeg kan tyde er følgende:

EventType: clr20r3. P1: photomarathon.exe, P2: 1.0.0.0, P3: 4db9d61d, P4: mscorlib.dll, ......., P9: system.io.directorynotfound

Og det er specielt P9 jeg hæfter mig ved, for den skriver ikke hvilket directory der ikke er fundet :-(

Har i nogle ideer til hvordan jeg finder ud af det - kan man evt. se noget i event loggen i Windows, eller sætte noget debug op som kan hjælpe mig?



Indlæg senest redigeret d. 29.04.2011 17:17 af Bruger #9814
6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Hej Brian,

Har du prøvet at fange ThreadException eventen på Application klassen? Den fanger det meste af det du ikke allerede har try-catch rundt om, og er derfor super praktisk at have med i sit program. Du kan gøre det ved at tilføje følgende kode i din Program.cs som det umiddelbart første, før din primære form vises osv.

Fold kodeboks ind/udCSharp kode 


Du skal så lave en metode, også i Program.cs, ved navn Application_ThreadException, hvor du kan vise og/eller logge fejlen:

Fold kodeboks ind/udCSharp kode 


Prøv det og se om det kan få dig lidt tættere på problemet - om ikke andet kan det anbefales at have med, hvis du ikke allerede har det :)

Mvh.

Kasper (TSW)



Indlæg senest redigeret d. 30.04.2011 10:49 af Bruger #1
Det kendte jeg faktisk ikke :-)

Jeg vil prøve at sætte Application_ThreadException metoden til at skrive til min error.log tekstfil som jeg allerede nu skriver til i mine andre catch'es. Så må fejlen da dukke op :-)

Tak for hjælpen.


*EDIT*

Og det fungerer sgu :-) Nu sender jeg ham den nye version og så ser vi hvad problemet er.

Igen, mange tak for hjælpen.



Indlæg senest redigeret d. 30.04.2011 11:06 af Bruger #9814
Selv tak, Brian. Det er et lille trick jeg selv lærte for en del tid siden og har været MEGET glad for siden :)

Mvh.

Kasper (TSW)



Det er et mystisk problem. Nu har han fået den nye version, hvor jeg har implementeret at den skal skrive til en error log tekst fil i den metode som du skrev.

Det virker også hos mig, hvis jeg fremtvinger en fejl. Men hos ham, kommer den stadig med fejlen som nævnt i første indlæg og den skriver aldrig til min error log fil :-(

Det lugter af en fejl i hans Windows installation / .NET framework. Men det er næsten for klassisk at be' ham om at geninstallere Windows :-)



Er det en standard Windows application error dialog han får op eller hvordan? I så fald må det næsten være en fejl der opstår før .NET overgiver kontrollen til din applikation, og så kan det være ret svært at gøre noget ved :)

Mvh.

Kasper (TSW)



Jeps, den kommer med denne fejl som ikke er fra min applikation. Men det er jo desværre min applikation der fejler :-(

Skærmdump af fejlen

*edit* Ps! Lidt øv at man ikke kan lave et nyt indlæg når man er den sidste der har skrevet i tråden.


Jeg har fundet en anden nu med helt samme problem som mig:

http://social.msdn.microsoft.com/Forums/en-US/netfxsetup/thread/14abce1f-c3b8-47ab-8fe2-e5c7b6267cd3

Jeg må lige se om denne kan hjælpe mig:

http://technet.microsoft.com/da-dk/sysinternals/bb896645



Indlæg senest redigeret d. 30.04.2011 18:05 af Bruger #9814
t