Permission pour écrire dans des fichiers.

Résolu
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008 - 3 oct. 2007 à 00:32
Jeremy69005 Messages postés 2 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 8 juillet 2011 - 8 juil. 2011 à 09:47
Bonjour,


J'ai un programme qui est lancé depuis une macro VBA d'Excel. 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

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

****************************************http://www.postsharp.org/

5 réponses

PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
3 oct. 2007 à 07:11
Salut, l'ordinateur qui éxecute le programme en .Net est-il dans un domaine ?

Je pense qu'il faut donner des droits a l'assembly pour écrire sur le réseau. Regarde içi :
http://support.microsoft.com/kb/842419/fr

A plus.
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
3 oct. 2007 à 02:45
Y a t-il autre chose à faire pour avoir les droits en écriture ?

Autre chose que quoi ?
De quelle façon écris-tu dans les fichiers ? À partir de quel programme ? Et quelle version Excel ?

Donne plus de détails si tu veux plus de chances d'être aidé. As-tu un bout de code ?

MPi²
0
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
3 oct. 2007 à 06:11
Excuses-moi pour le manque de précisions.
J'utilise Excel 2007 et je fait appelle à un programme .net dans une macro grâce à la fonction  VBA shell :

Shell("\\ordiSurLeReseau\DossierParatage\MonProgramme " &  "'\\ordiSurLeReseau\chemin de fichier à modifier\fichierAModifier.xml'")

Le programme .net reçois en paramètre un chemin vers un fichier, il modifie le fichier correspondant puis le sauvegarde.

Le contenu de mon programme est tout simple :

Dim f As FileIOPermission = New FileIOPermission(PermissionState.Unrestricted)

f.AllFiles = FileIOPermissionAccess.AllAccess

Dim doc As XmlDocument = New XmlDocument

doc.Load(args(0))

Dim writer As XmlTextWriter = New XmlTextWriter(args(0))

writer.Formatting = Formatting.None

doc.Save(writer)

J'ai tenté d'ajouter les 2 premières lignes au vu du message d'erreur qui m'était retourné (System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089), mais ça n'a rien changé au problème.

Que faut-il faire pour avoir les droits d'écriture ?

Mathmax

****************************************http://www.postsharp.org/
0
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
3 oct. 2007 à 17:25
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/
0

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

Posez votre question
Jeremy69005 Messages postés 2 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 8 juillet 2011
8 juil. 2011 à 09:47
Explique EXACTEMENT ce que tu as fais stp, c'est pas clair.
0
Rejoignez-nous