Permission pour écrire dans des fichiers. [Résolu]

cs_mathmax 404 Messages postés vendredi 28 octobre 2005Date d'inscription 31 août 2008 Dernière intervention - 2 oct. 2007 à 16:28 - Dernière réponse : cs_mathmax 404 Messages postés vendredi 28 octobre 2005Date d'inscription 31 août 2008 Dernière intervention
- 3 oct. 2007 à 17:25
Bonjour,


J'ai un programme qui est lancé depuis une macro VBA. Ce programme
écrit dans des fichiers sur le réseau. Le problème est quand j'exécute
le programme depuis la macro. J'obtiens l'erreur suivante :

Echec de la demande d'autorisation de type
'System.Security.Permissions.FileIOPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089


J'ai bien essayé d'écrire :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
<!--[if !IE]><--><!----><!--[endif]--><!--[if IE]>
<![endif]-->
FileIOPermission f = new FileIOPermission(PermissionState.Unrestricted);
f.AllFiles = FileIOPermissionAccess.AllAccess;
 

<!-- END TEMPLATE: bbcode_code -->mais celà ne change rien.


Si par ailleurs, j'exécute le programme "manuellement" je n'ai pas ce problème.


Y a t-il autre chose à faire pour avoir les droits en écriture ?


Merci d'avance pour votre aide.

Mathmax

****************************************

- I don't write plumbing code anymore
- I use PostSharp
- And you?   

          
                        
****************************************
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 2 oct. 2007 à 21:18
3
Merci
Ca dépend comment se lance la macro VBA.

Si tu as fait une tâche planifiée windows, il y a moyen de dire quel utilisateur l'exécute (ensuite, il te suffit de lui donner les droits nécessaires).
Si c'est pas un autre moyen : lancement dans office (sous excell, word, access, ...) ; alors là, je ne sais pas quel utilisateur lance l'application : est-ce l'utilisateur de la session ou un autre spécifique ? je m'y connais pas assez pour te donner une réponse sûre.

J'ai déjà eu pas mal de fois au boulot des problèmes d'écriture et c'était toujours un histoire de droit utilisateur à configurer.

Il faudrait poser la question à des gens plus compétents ^^ . Je te conseilles de poser cette question sur :
- http://www.codes-sources.com/ sur le forum VB
- http://www.microsoft.com/france/communautes/webnews/france/default.mspx , tu risque surement de trouver en posant chez microsoft

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Merci billou_13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de billou_13
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 2 oct. 2007 à 17:01
0
Merci
Ce doit surement être parce que toi tu es loggué avec les droits admin et que l'utilisateur qui exécute ta tâche VBA ne les a pas.
Commenter la réponse de billou_13
cs_mathmax 404 Messages postés vendredi 28 octobre 2005Date d'inscription 31 août 2008 Dernière intervention - 2 oct. 2007 à 21:00
0
Merci
A quel niveau ?

Comment donner au l'utilisateur qui exécute la tâche VBA les droits d'admin ?

Mathmax

****************************************

- I don't write plumbing code anymore
- I use PostSharp
- And you?  

                       
****************************************
Commenter la réponse de cs_mathmax
cs_mathmax 404 Messages postés vendredi 28 octobre 2005Date d'inscription 31 août 2008 Dernière intervention - 2 oct. 2007 à 23:21
0
Merci
Oui la macro est lancée depuis excel.
Faut-il que je définisse l'utilisateur dans le programme utilisé par la macro.
Pourquoi l'erreur que je reçoit me parle de FileIOPermission ?
Echec de la demande d'autorisation de type
'System.Security.Permissions.FileIOPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Est-ce que ça signifie qu'il faut créer une instance de FileIOPermission dans le programme pour définir quel utilisateur à le droit d'écrire dans les fichiers ?

Ou alors faut-il définir les droits à un autre endroit ?

Je vais poster mon problème dans le forums que tu m'as conseillé.
Mathmax

****************************************

- I don't write plumbing code anymore
- I use PostSharp
- And you?  

                       
****************************************
Commenter la réponse de cs_mathmax
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 3 oct. 2007 à 09:49
0
Merci
Salut,

En regardant un peu sur le net, j'ai trouvé un petit post intéressant :
http://www.developpez.net/forums/showthread.php?p=2481343

Dedans, il te route vers une page, http://www.derkeiler.com/Newsgroups/microsoft.public.dotnet.security/2004-09/0021.html , qui peut être intéressante pour toi.

Bon courage,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Commenter la réponse de billou_13
cs_mathmax 404 Messages postés vendredi 28 octobre 2005Date d'inscription 31 août 2008 Dernière intervention - 3 oct. 2007 à 17:25
0
Merci
Ok j'ai résolu le problème en exécutant :


C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727/CasPol.exe -m -ag 1.2 -url file://ordiSurLeReseau/DossierParatage/* FullTrust

Mathmax

****************************************http://www.postsharp.org/
Commenter la réponse de cs_mathmax

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.