2009-06-04 6 views
0

J'ai créé l'application C#, qui crée un fichier image sur le bureau. Il fonctionne très bien sur XP et Vista (compte administrateur) mais il ne parvient pas à créer un fichier image sur le bureau dans Vista (compte standard).La création du fichier échoue dans le compte standard (Vista)

Que je doive inclure le fichier manifeste dans l'application pour fonctionner correctement? Si j'ajoute manifest, cela fonctionnera-t-il sur XP sans aucun problème? Désolé, c'est une question boiteuse. Merci d'avance.

+0

Pouvez-vous partager le code et les détails sur exactement comment il échoue (message d'exception et autres)? –

+0

Quel chemin utilisez-vous? –

Répondre

5

Assurez-vous que vous utilisez la classe System.Environment.SpecialFolder pour vous dire où Desktop est vraiment de votre utilisateur.

0

Pour répondre à votre première question, en l'absence de détails sur le code et les erreurs générées, il semble que le compte standard ne dispose pas des autorisations nécessaires pour créer un fichier sur le bureau. Pouvez-vous le faire manuellement lorsque vous êtes connecté en utilisant le compte standard?

Je n'ai pas Vista installé, donc je ne peux pas vérifier moi-même.

+0

Je peux créer le fichier manuellement sur le bureau, mais la création de fichiers par le biais du programme échoue. – Mahesh

+0

Vous aurez besoin de nous donner plus d'informations sur exactement quelle ligne échoue et comment – ChrisF

0

Vous ne devriez avoir aucun problème à créer un fichier sur le bureau. Toutefois, ce bureau peut maintenant avoir un emplacement différent. Êtes-vous en train d'essayer de créer un fichier sur le bureau de Vista, ou êtes-vous encore en train d'essayer de créer un fichier en utilisant les chemins de XP? Pouvez-vous distiller votre code à un exemple de 20 lignes?

2

Dans quel dossier essayez-vous de créer le fichier? Le dossier de bureau partagé ou le dossier de bureau de l'utilisateur? Les utilisateurs ordinaires ne peuvent pas créer de fichiers de bureau partagés.

Vous devriez écrire dans le dossier spécifié par la valeur de Registre suivante:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop 
0

Je parie que c'est les droits d'accès. La chose Vista UAC qui vient et demande la permission serait probablement une bonne chose là-bas.

Vérifiez ce lien pour savoir comment obtenir l'accès UAC:

Demand UAC elevation for an application

0

Avec dans le répertoire de votre application donne des autorisations aux utilisateurs de prendre la propriété et supprimer. Cela implique de cliquer sur le bouton Avancé dans l'onglet Sécurité. Une fois que vous appliquez les modifications, vous devez effectuer des opérations d'archivage.

0

Ma suggestion est nécessaire que si vous essayez de faire fichier IO dans un répertoire système comme C: \ Program Files ...

Questions connexes