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

Messages postés
404
Date d'inscription
vendredi 28 octobre 2005
Dernière intervention
31 août 2008
- - Dernière réponse : cs_mathmax
Messages postés
404
Date d'inscription
vendredi 28 octobre 2005
Dernière intervention
31 août 2008
- 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
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
16
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
---------------------

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 118 internautes nous ont dit merci ce mois-ci

Commenter la réponse de billou_13
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
16
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
Messages postés
404
Date d'inscription
vendredi 28 octobre 2005
Dernière intervention
31 août 2008
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
Messages postés
404
Date d'inscription
vendredi 28 octobre 2005
Dernière intervention
31 août 2008
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
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
16
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
Messages postés
404
Date d'inscription
vendredi 28 octobre 2005
Dernière intervention
31 août 2008
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.