titifazer
Messages postés15Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention11 septembre 2006
-
31 mai 2006 à 11:03
cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 2012
-
19 mars 2008 à 07:06
Bonjours à tous,
J'ai une application en c# à executer via un réseaux. Mais quand je veux l'executer sur un poste X , cela déclanche un message d'erreur, donc maintenant je suis un peux perdu et je ne sais pas quoi faire pour y remédier.
Merci d'avance pour votre aide.
titifazer
Messages postés15Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention11 septembre 2006 31 mai 2006 à 11:50
Je double clics sur l'executable de mon application qui se trouve sur un autre posteX.
L'application se trouve sur un windows XP et je l'execute à partir d'un windows 98, lors de l'execution le message d'erreur si dessous s'affiche
titifazer
Messages postés15Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention11 septembre 2006 31 mai 2006 à 12:01
Oui, j'ai installé le Framework 2.0 sur tous les postes du réseaux.
Je programme l'application sur Visual Studio Express C#
Le message d'erreur :
Application has generated an exception that could not be handled
Process ID=0xffe31d71 (-1893007), Thread ID=0xff31f21 (-1892575)
Vous n’avez pas trouvé la réponse que vous recherchez ?
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 31 mai 2006 à 12:27
Dans ton application, commence par t'inscrire a l'evenement Application.ThreadException dans ta fonction Main() et garde une trace de l'erreur.
Ensuite, que fait ton appli exactement ?
As-tu donné les droits en FullTrust pour les assemblys lancés depuis le reseau ?
Cela se fait via l'utilitaire de configuration du Framework. -> Stratégie de securité -> Zone -> Intranet Local -> Confiance totale.
titifazer
Messages postés15Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention11 septembre 2006 31 mai 2006 à 15:12
L'appli va rechercher des noms de fichier et les affiches dans un treeview.
J'ai déclaré l'evenement Application.ThreadException mais il lance la même erreur et non celui de l'evenement du ThreadException.
Au niveaux de la configuration du framework tout est ok. Je n'utilise aucun Thread dans mon appli
Merci de ton aide
titifazer
Messages postés15Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention11 septembre 2006 1 juin 2006 à 10:07
Bonjours,
Maintenant il me mais cette erreur la quant je fais un Directory.GetLogicalDrives()
pour rechercher tous les lecteurs.
Échec de la demande d'autorisation de type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Comment je peux faire pour récupérer les lecteurs sans avoir cette erreur.
titifazer
Messages postés15Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention11 septembre 2006 2 juin 2006 à 10:45
Bonjours,
Il y a un peut d'évolution pour mon problème, j' ai configuré dans les paramètres de l'application la sécurité en " confiance total ", le résultat c'est que lorsque je lance mon application en debug, elle fonctionne correctement mais lorsque que je veux la lancer sans degugage alors l'application ne fonctionne plus donc je revien au point de départ.
Quand j'attrape l'exception, ca me donne ca:
Échec de la demande d'autorisation de type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
à System.Security.CodeAccessSecurityEngine.Check(Object demand,StackCrawMark&stakMark,Boolean isPermSet)
à System.Security.CodeAccessPermission.Demand()
à System.IO.Directory.GetLogicalDrives()
L'action qui a échoué était :
Demand
Le type de la première autorisation qui a échoué était :
System.Security.SecurityPermission
La zone de l'assembly qui a échoué était :
Intranet
Voici le code qui pose problème:
SecurityPermission
permission =
new
SecurityPermission(
SecurityPermissionFlag.NoFlags);
ZoneIdentityPermission zip =
new
ZoneIdentityPermission(System.Security.
SecurityZone.Intranet);
// recherche à la racine de tous les lecteurs
try{
zip.Demand();
permission.Demand();
foreach (
string lecteur
in
Directory.GetLogicalDrives())
if (
Directory.Exists(lecteur + chemin)) chemin_complet = lecteur + chemin;
}
catch (System.Security.
SecurityException se){
MessageBox.Show(se.ToString());}
Si quelqu' un à une idée ? Je la prendrais avec plaisir
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 2 juin 2006 à 11:11
:/
J'ai jamais été confronté a ca, et j'ai rien devant moi pour tester et pouvoirt'apporter une solution fiable.
Dès que j'ai un peu de temps, j'essaies de chercher et de voir ce qu'il se passe. Je te tiens au courant si j'ai une réponse.
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 2 juin 2006 à 13:44
Ok, donc je viens de faire un test.
J'ai un assemblage qui demande les memes permissions que toi (j'ai meme testé avec FileIOPermisson).
J'ai aussi mis les Flags a SecurityPermission.Unrestricted pour tester.
Je lance depuis un ordinateur distant, sans rien configurer sur mon poste, ca plante. (normal).
Je signe mon assembly, et donne la permission FullTrust a son nom fort.
Je reteste, ca marche.
Je compile en mode release, je reteste, ca marche.
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 2 juin 2006 à 14:12
Via l'outil de configuration du Framework (mscorcfg.msc) dans les outils d'adminsitration du panneau de config. (ou avec caspol.exe)
Tu demarres l'outil, tu déroutes le Poste de travail -> stratégie de sécurité du Runtime -> Ordinateur -> Groupes de codes et tu fais un click droit sur "All_Code". Tu choisis Nouveau, tu lui donnes le nom que tu veux.
Tu fais suivant, dans la liste deroulante et tu choisis "Nom fort", tu cliques sur "importer" et tu choisis ton assembly (ou tout autre assembly qui a le meme nom fort).
Et a l'ecran suivant, tu choisis "FullTrust" dans la liste deroulante.
cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 20122 19 mars 2008 à 06:53
Bonjour,
j'ai le meme souci
au debut ca ne marchait pas du tout
ensuite je suis arrivé (en essayant de suivre les instructions ) au probleme avec le message de token...
j'utilise une base de données sql server express
y a t il quelque chose a jouter opu bien ai je raté une étape?
cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 20122 19 mars 2008 à 07:06
en fait mon application se lance je vois un winform mais on dirait que c'est la connexion a la BD qui ne fonctionne pas
j'ai un sqlclient permission (zone intranet) je clique ok et la j'ai mon premier form qui apparait
ensuite je clique sur la croix et j'ai le message d'envoyer l'erreur a windows