J'ai une application .NET WPF de bureau qui utilise une base de données intégrée (SQLite). Où mettre le fichier de base de données? C'est la même base de données pour tous les utilisateurs.Dossier enregistrable par tous les utilisateurs sur le même pc
J'ai essayé d'utiliser CommonAppData mais il n'est pas accessible en écriture pour les utilisateurs non-administrateurs. J'ai donc essayé d'utiliser une action d'installation personnalisée pour donner des droits d'écriture à tous les utilisateurs de ce dossier mais cela échoue sur les PC de domaine. Le code est:
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "MyAppName");
DirectorySecurity security = Directory.GetAccessControl(appDataPath);
FileSystemAccessRule rule = new FileSystemAccessRule("Users", FileSystemRights.WriteData, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.InheritOnly, AccessControlType.Allow);
security.AddAccessRule(rule);
Directory.SetAccessControl(appDataPath, security);
Est-ce que les utilisateurs ". \ Users" de "Users" travailleraient sur un domaine?
Est-ce la meilleure approche? Y a-t-il un autre dossier que je pourrais utiliser?
Je ne suis pas dans la programmation Windows mais n'y a-t-il pas un dossier partagé public, au moins dans Windows Vista et au-dessus? –