Execution d'une application à distance

titifazer Messages postés 15 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 11 septembre 2006 - 31 mai 2006 à 11:03
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 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.

16 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
31 mai 2006 à 11:23
Salut,

Pour qu'on puisse t'aider, il nous faut plus d'infos :

Quel est ce message d'erreur ?
Comment t'y prends-tu pour lancer l'appli sur le poste X ?

Mx
MVP C# 
0
titifazer Messages postés 15 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 11 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
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
31 mai 2006 à 11:52
On ne peut pas voir ton image car elle est en local sur ton ordi. Il faut prealablement la mettre sur le net.

Petite question a l'aveugle :
As-tu installé le Framework .Net sur ton poste ?

Mx
MVP C# 
0
titifazer Messages postés 15 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 11 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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
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.

Mx
MVP C# 
0
titifazer Messages postés 15 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 11 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
0
titifazer Messages postés 15 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 11 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.

PS: En local, ca marche très bien.
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
1 juin 2006 à 11:17
Salut

Va lire ce petit articlequi t'expliquera ce qui se passe 
Et ici si tu as le courage;)

Mx
MVP C# 
0
titifazer Messages postés 15 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 11 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
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
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.

Mx
MVP C# 
0
titifazer Messages postés 15 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 11 septembre 2006
2 juin 2006 à 11:13
ok, merci
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
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.

en bref, j'arrive pas a reproduire ton souci :/

Mx
MVP C# 
0
titifazer Messages postés 15 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 11 septembre 2006
2 juin 2006 à 14:05
tu fais comment pour donner la permission FullTrust
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
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.

Mx
MVP C# 
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
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?
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
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
0
Rejoignez-nous