Pendant mon NSIS script d'installation pour une application WinForms, j'utiliser la commande CACLS suivante pour donner le groupe d'utilisateurs tous les droits à un sous-dossier:CACLS Confusion
Exec 'CACLS "$INSTDIR\SubFolder" /E /T /C /G "Users":F'
Donc, en effet commande exécutée le CACLS est quelque chose comme:
CACLS "c:\Program Files\MyApp\SubFolder" /E /T /C /G "Users":F
Quand je regarde alors les autorisations de dossier dans l'Explorateur Windows (clic droit sur le dossier et choisissez Propriétés, allez dans l'onglet sécurité), les autorisations correctes sont là, mais ils ne sont pas modifiables. En outre, en cliquant sur le bouton Avancé pour les «Paramètres de sécurité avancés», SubFolder hérite des autorisations de groupe «Utilisateurs» d'un «objet parent», mais de l'objet parent, car ce n'est pas le dossier ci-dessus.
Pourquoi les autorisations ajoutées par CACLS ne sont-elles pas modifiables et pourquoi sont-elles héritées d'un objet parent inexistant? Je pense que j'ai peut-être mal placé les options sur CACLS.
Je suis sous Windows XP.
J'ai regardé tous les dossiers parents et les permissions ne semblaient pas provenir de là. Merci pour la suggestion de plugin cependant. – codeulike
+1 pour le plug-in AccessControl. Cela a fonctionné à merveille pour moi, et je le recommanderais car il utilise l'API Windows plutôt que de dépendre de la présence d'un utilitaire comme les cacls sur la machine cible. –