Question

J'ai une application modifiée pour prendre en compte l'UAC dans VISTA. Ainsi, le fichier .mdb (JET ou Access) se trouve dans ProgramData \ MyApp \

J'ai réalisé que lorsque mon application lit la base de données pour la première fois, elle le fait à partir de cet emplacement ... mais lorsque mon application écrit dans la base de données ... le fichier est virtualisé et passe à Utilisateurs \ MyUser \ AppData \ Local \ VirtualStore \ ProgramData \ MyApp . À partir de ce moment, mon application se rend toujours à l'emplacement virtualisé du disque.

Mon application fonctionne, mais si je continue dans cette voie, la base de données sera configurée utilisateur par utilisateur, et nous avons vraiment besoin de la partager avec tous les utilisateurs du PC.

Je pensais que l'écriture dans le dossier ProgramData ne déclencherait pas le mécanisme de virtualisation.

Qu'est-ce qui me manque?

Je dois définir les autorisations pour le dossier MyApp sous ProgramData ??

Comment puis-je faire cela lors de l'installation?

Merci les gens ...

Plus d'infos: Développé avec VS2003 VB.NET à l’aide du projet de configuration VS.

Était-ce utile?

La solution

Il est fort probable que vous deviez définir des autorisations d'écriture pour tous les utilisateurs lors de l'installation.

Pour tester, supprimez le dossier virtualisé, définissez manuellement les autorisations sur le dossier ProgramData \ MyApp et les fichiers et vérifiez si cela fonctionne.

Pour savoir comment procéder de manière pragmatique lors de l'installation, cela dépend vraiment de la technologie que vous utilisez.

Autres conseils

J'ai eu des problèmes ici aussi, il semble que Vista décide une fois de virtualiser le fichier, le seul moyen de l'arrêter est de supprimer le fichier virtuel. La prochaine fois que vous l'utiliserez, il utilisera le dossier ProgramData.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top