Toon posts:

[.NET] Error bij open van app op andere PC *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik krijg een error bij het openen van me applicatie op een anderen PC.
De applicatie op de PC waar ik dit op heb geschreven met VS.net 2003 werkt hij gewoon goed.

Op de anderen PC staat gewoon .NET FrameWork 1.1.

De error doet zich voor als het .EXE bestand wordt geopend op een anderen PC.
De error:

Afbeeldingslocatie: http://home.planet.nl/~sand0731/error.jpg

Some app specs:
taal: C#
Includes:
C#:
1
2
3
4
5
6
7
8
9
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Threading;
using System.Net;
using System.Net.Sockets;


Ik heb al geprobeert:
- De Applicatie in een installatie te verwerken.
- Visual styles aangepast (Geen FlatSyle meer)

Op de searche van Tweakers kwam ik wel wat info tegen (vandaar de installatie) maar ik heb hier geen oplossing uit kunnen halen voor mij probleem.

En op google.com zag ik eigelijks ook niet nuttigs.

Meybe heeft 1 van jullie een tip of messchien wel een oplissing?


edit:
No het installeren van de Complete .NET FrameWork SDK zien we deze error:
Afbeeldingslocatie: http://home.planet.nl/~sand0731/error2.JPG

En nog even geprobeert op 3 andere PC's... en hetzelfde ;(

[ Voor 11% gewijzigd door Verwijderd op 17-10-2003 02:33 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Topic prefixed en de n achter 'andere' verwijderd, dat doe je in je post zelf overigens ook consequent fout :P

Professionele website nodig?


Verwijderd

Topicstarter
curry684 schreef op 17 October 2003 @ 02:10:
Topic prefixed en de n achter 'andere' verwijderd, dat doe je in je post zelf overigens ook consequent fout :P
OffTopic
Thanks! Sorry, dislectie.... O-)

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Staat de applicatie lolaal op de pc of op bijvoorbeeld een netwerkdrive? In het laatste geval kan het een rechten-probleem zijn. (Zie bij Configuring Security Policy in de .NET reference)

| Toen / Nu


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
Als je je applicatie vanop een netwerklocatie laat opstarten, en die applicatie heeft bv. FileAccess nodig, dan zal de app een exceptie gooien.

Je kunt dit oplossen door in 't configuratiescherm mbhv de .NET wizarrds je assembly voldoende rechten te geven. (Kan eventueel ook met de caspol utility dacht ik).

Je kan in je applicatie ook checken of je voldoende rechten hebt, met onderstaande code check je bv. of je rechten hebt om files te accessen:
code:
1
2
3
4
5
6
7
8
9
try
{
   FileIOPermission p = new FileIOPermission(... );
   p.Demand();
}
catch
{
   MessageBox.Show("geen file IO rechten");
}

https://fgheysels.github.io/


  • yodax
  • Registratie: Januari 2000
  • Laatst online: 28-04 08:47
Ik denk dat je applicatie gebuild hebt met de debug flag aan. Hij probeerd zich dan te registreren bij een debugger, maar die heb je niet.

Probeer eens te builden voor release.

* yodax houdt wel een stevige slag om zijn arm hoor

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
yodax schreef op 17 oktober 2003 @ 08:47:
Ik denk dat je applicatie gebuild hebt met de debug flag aan. Hij probeerd zich dan te registreren bij een debugger, maar die heb je niet.
Nee hoor, hij probeert zich niet te registreren bij een debugger.
Builden met debug settings heeft als gevolg dat er een pdb file gemaakt wordt voor je assembly, en dat eventuele Debug statements ook uitgevoerd worden.
Releasen met een debug-build zorgt er ook voor dat je applicatie wat trager is dan moest ze gebuild zijn met release-settings.
Ik denk echter niet dat het probleem veroorzaakt wordt doordat er een debug-versie gereleased werd.

https://fgheysels.github.io/


  • Surehand
  • Registratie: Februari 2003
  • Laatst online: 18-08 15:40
't Is ook handig om te laten tonen wat voor exceptie er gegooid wordt. Zonder die informatie weet je niet precies wat er aan de hand is...

Verwijderd

Volgens mij gaat dit iets verder. Hier gaat volgens mij de .Net runtime over zijn nek.
De melding gaat hier niet over een .Net exception.
Dit kan of een bug zijn in de .Net runtime of een dll waarop hij depend.
Of je gebruikt ergens unsafe code of com interop die fout gaat.

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Een applicatie starten vanaf een netwerk share vereist dat je permissies hebt om dat te doen, nl. permissies om een class te instantieren vanaf een andere PC. Dit is default niet het geval. Open .NET framework configuration tools en zet de tool op de network share op full trust.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Topicstarter
@ Whoami
Hij staat niet in een Netwerk-Drive. Maar toch even de FilePromision gechecked, en dat zit goed.

@ yodax
Nope Release Build wou ook niet echt helpen.

@ Bierdopje
Nope gebruik ik ook niet.

Ik heb het toevallig ook nog maar even op een niet XP Machine geprobeert maar zelfde resultaat. Nu probeer ik het net op een pc waar ook VS.net 2003 is geinstalleerd... doet het proggie het gewoon. :?

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
Ben je wel zeker dat je het .NET framework v1.1 op die betreffende PC (waar het dus niet lukt) wel goed geinstalleerd is?

Kan je misschien een preciezere exceptie-message te pakken krijgen?

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 17 oktober 2003 @ 13:10:
Ben je wel zeker dat je het .NET framework v1.1 op die betreffende PC (waar het dus niet lukt) wel goed geinstalleerd is?

Kan je misschien een preciezere exceptie-message te pakken krijgen?
Ja, dubbel... dubbel... dubbel check Mr. Whoami, maar zelfs nog vele re-instals gedaan. En nog ff op anderen OS getest.

Ik vond na velen uren klikken @ google.com nog een paar (niet werkende) oplossingen. Het komt dus vaker voor. Maar ik zie alleen wat vage oplossingen staan die niet echt werken bij mij.
Van het installeren van Dreamweaver tot alleen simpel weg een Resc-file in je map gooien.
Ik word echt crazy hier |:(

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Als je een simpele .NET applicatie maakt, bijvoorbeeld alleen een leeg form, wil die wel starten of krijg je dan dezelfde exceptie?

| Toen / Nu


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
Hmmm, je hebt echt geen idee waar je applicatie dan die error op geeft?

Ik zou zeggen: maak eens gebruik van tracing.
Zet wat trace statements in je code, en laat die trace - messages wegschrijven naar een logfile oid.
Op die manier kan je te weten komen waar het programma precies op crashed.

https://fgheysels.github.io/


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Even een tip:

je kunt dit doen:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static void Main(string[] args)
{
//....
    // wire event handler for unhandled exceptions, so these will be shown 
    Application.ThreadException+=new 
System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

    // Show main window.
    Application.Run(myMainWindow);
}


private static void Application_ThreadException(object sender, 
System.Threading.ThreadExceptionEventArgs e)
{
    Console.WriteLine("Exception caught: {0}", e.Exception.Message);
}

Dan krijg je altijd de unhandled exceptions te zien die je eigen app throwt dus bv in de buitenste lus waar je even geen try/catch omheen hebt staan :)

Even toevoegen, builden, runnen op die bak waar het niet werkte en je krijgt de error te zien.

(edit)
Ik log naar de console, die heb je wellicht niet, dan moet je even een messagebox laten zien, of gebruik een general exception window. Die wil ik wel linken hier voor je (VS.NET 2003).
Haal hier de generic exception viewer class op: http://www.xs4all.nl/~perseus/GenericNetExceptionViewer.zip
Je moet de namespace even aanpassen.

Dan wordt je event handler aldus:
Java:
1
2
3
4
5
6
private static void Application_ThreadException(object sender, 
System.Threading.ThreadExceptionEventArgs e)
{
    ExceptionViewer viewer = new ExceptionViewer(e.Exception);
    viewer.ShowDialog();
}

[ Voor 33% gewijzigd door EfBe op 17-10-2003 13:35 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Topicstarter
Nope, krijgt gewoon dezelfde error. Hij word niet opgevangen. Dus het zou zich voordoen voordat de app ge-runned word.

@ EfBe
Ik bewaar je error viewer wel >:)

[ Voor 12% gewijzigd door Verwijderd op 17-10-2003 16:18 ]


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 17 October 2003 @ 16:17:
[...]
Nope, krijgt gewoon dezelfde error. Hij word niet opgevangen. Dus het zou zich voordoen voordat de app ge-runned word.
Dat is dan de enige mogelijkheid inderdaad. In dat geval is het wellicht nuttig even in de eventlog te kijken van de machine waar het niet op werkt.
@ EfBe
Ik bewaar je error viewer wel >:)
:) Hij is erg handig, want die standaard CLR exception schermpjes heb je geen reet aan. :)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Topicstarter
Dit gaf hij mij:
code:
1
2
3
4
5
6
7
8
Toepassingspop-up: WindowsApplication1.exe - Common Language Runtime Debugging Services : Application has generated an exception that could not be handled.

Process id=0x488 (1160), Thread id=0x738 (1848).

Click OK to terminate the application.
Click CANCEL to debug the application.

Zie Help en ondersteuning op http://go.microsoft.com/fwlink/events.asp voor meer informatie.


Maar dit vertelde mij niet echt meer... meybe jullie wel _/-\o_

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
EfBe schreef op 17 oktober 2003 @ 13:20:
Dan wordt je event handler aldus:
Java:
1
2
3
4
5
6
private static void Application_ThreadException(object sender, 
System.Threading.ThreadExceptionEventArgs e)
{
    ExceptionViewer viewer = new ExceptionViewer(e.Exception);
    viewer.ShowDialog();
}
offtopic:
Die code komt me bekend voor... ik zie nu pas dat EfBe=Otis :D (toch?)

| Toen / Nu


  • EfBe
  • Registratie: Januari 2000
  • Niet online
[offtopic] krek :)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Topicstarter
Ik probeer net de Applicatie op een PC van iemand die in me contact-list van MSN stond. En hij draait hem zonder enig probleem... is dit gelukt of verklaarbaar :)

Verwijderd

Die exception handlers helpen echt niet aangezien dit geen .net exception is.
Er is echt iets fout met je runtime of dingen waarop hij depend.
Van voor tot achteren remote debuggen lijkt mij de enige methode om te kijken op welke regel het fout gaat.

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 19 oktober 2003 @ 13:09:
Die exception handlers helpen echt niet aangezien dit geen .net exception is.
Er is echt iets fout met je runtime of dingen waarop hij depend.
Van voor tot achteren remote debuggen lijkt mij de enige methode om te kijken op welke regel het fout gaat.
Nee, dit is WEL een .NET exception waar geen handler voor is. Run maar eens een klein console appje dat door 0 deelt op een bak waar geen JIT debugger op geinstaleerd is (dus alleen .NET runtime). Je krijgt geheid hetzelfde schermpje (krijg ik nl. ook op mn server waar alleen maar .net runtime op staat).

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Hmm, ik was dat nog niet tegen gekomen. Ik krijg alleen zulke meldingen als me runtime onderuit gaat, maar het zou kunnen dat er op die machines wel een debugger staat.

Dan zou ik maar eens een debugger gaan installeren op die bak... :)
Pagina: 1