2010-05-14 9 views
0

Je travaille sur une application Windows dans laquelle je crée un dossier lors de l'exécution et j'enregistre des fichiers xml dans le dossier .... Tout fonctionne correctement sous Windows XP mais quand je le lance dans Widows 7/Vista i obtenir l'erreur indiquant l'accès au chemin est refusé .. je crée le dossier dans C: \ Program Files \ MyApplication \Erreur d'accès sous Windows 7

S'il vous plaît me aider à résoudre ce

+0

Si rien de la solution ci-dessous aide, essayez les étapes indiquées ici - http://stackoverflow.com/a/21995207/2789764 –

Répondre

2

Windows 7 (et Vista) définit les autorisations d'accès sur les répertoires Program Files et ne permet pas à un utilisateur normal d'écrire dans ces répertoires.

Soit votre programme doit être exécuté par un administrateur, soit vous pouvez modifier les autorisations de l'entrée Program Files de votre application ou enregistrer les données ailleurs.

+0

J'ai déployé un Add-In VSTO Excel, comment puis-je l'exécuter dans Administrator ou comment changer l'autorisation sur mon fichier programme Apps entrys – SSK

+0

Comment allez-vous déployer le complément, utilisez-vous un fichier d'installation Windows? – stuartd

+0

Fichier d'installation créé dans le fichier .msi dotnet – SSK

0
  • est votre application courir dans le contexte de l'administrateur?

  • Est-ce que visual studio fonctionne en tant qu'administrateur?

Pour ce faire, faites un clic droit et sélectionnez VS Exécuter en tant qu'administrateur, pour le faire de façon permanente, clic droit, et sélectionnez propertys la course comme case à cocher admin. Lorsque votre débogage de votre application via VS, il aura besoin des autorisations, sinon l'application elle-même.

Son probablement juste une chose autorisations __gVirt_NP_NN_NNPS<__ basé ...

+0

J'utilise VS dans Windows XP et le déploiement de l'exe dans Windows 7 – SSK

0

Vous pouvez activer le mode XP pour un exécutable.

+0

Comment puis-je faire ceci pour VSTO Excel Add-in – SSK

+0

J'ajoutais juste que dans Windows 7 il y a une option pour fonctionner en mode XP pas seulement en tant qu'administrateur. Je recommanderais de ne pas créer un dossier dans C: \ Programfiles \ MyApplication \ 'mais dans'% APPDATA% \ MyApplication \ ' –

+0

si j'utilise APPDATA où créerait-il le dossier dans Win 7 et Win XP ?? – SSK

2

Il est peut-être une idée d'utiliser les dossiers spéciaux .NET fournit pour ce type de données. Cela devrait fonctionner:

Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\AppName\test folder"); 

Ensuite, écrivez vos données dans ce dossier.

+0

Mais je veux l'écrire sur le chemin d'installation, c.-à-d. C: \ Programfiles \ myApp \ myFolder – SSK

+0

Y a-t-il une raison particulière pour laquelle cet emplacement doit être indiqué? – Andy

0

Vous NE DEVRIEZ PAS écrire dans les fichiers programmes. C'est une mauvaise habitude et seuls les installateurs devraient y écrire. Ce que vous "voulez" est mauvais pour tout l'écosystème et tout simplement faux. Ne fais pas ça.