Bonjour,
Je stocke mes fichiers de configuration de programme dans ProgramData\<nom programme>\maconfig.ini (.ini pour faire simple)
Quand le répertoire n'est pas créé je crée celui-ci par ForceDirectories
Jusque-là pas de soucis.
C'est ensuite que cela se corse :
Sur mon poste, pas de soucis, si je modifie le fichier de config aucune erreur de levée
Sur certains postes utilisateurs (pas tous ce serait trop facile) impossible de ré-écrire le fichier sans exécuter le programme en mode administrateur
Si j'en crois cette réponse
La question est donc : comment, je cite, "donner une ACL (Access Control List) permissive" ?C: \\ ProgramData, alias FOLDERID_ProgramData, a des paramètres de sécurité restreints. Les utilisateurs standard peuvent y créer des fichiers. Mais ces fichiers sont, par défaut, sécurisés de sorte que seul l'utilisateur qui a créé le fichier peut ultérieurement le modifier.
La solution recommandée consiste pour votre programme d'installation à créer un sous-répertoire de C: \\ ProgramData pour votre stockage partagé. Et ce sous-répertoire doit recevoir une ACL permissive par le programme d'installation. C'est ce qui accorde l'accès souhaité à tous les utilisateurs standard.
Partager