2009-08-19 10 views
4

Je tente d'appliquer des droits personnalisés à un dossier dans le cadre d'un programme d'installation WiX 3.0.4318.0.Autorisations WiX, comment exprimer «Modifier» en termes d'indicateurs DACL

En termes d'interface utilisateur des propriétés de sécurité dans l'explorateur, je souhaite ajouter Modifier aux droits de BUILTIN \ Users. Évidemment, il doit être résilient contre la localisation du nom d'utilisateur. Donc, en fonction de mes recherches à ce jour, je veux au moins:

<CreateFolder Directory="XYZ" > 
    <PermissionEx User="[WIX_ACCOUNT_USERS]" 
     GenericRead="yes" GenericWrite="yes" Delete="Yes" /> 
</CreateFolder> 

Questions:

  1. Je fais cela dans un sous-répertoire - suis-je raison de supposer que le choix entre l'autorisation et PermissionEx est Moot? Qu'est-ce que 'Modifier' dans la boîte de dialogue Autorisations de dossier dans l'Explorateur mappe en termes de droits - je vois de nombreux exemples où les gens l'ont traduit en un nombre magique ou un grand nombre de drapeaux - qu'est-ce que d'autres personnes utilisent (l'intention est de permettre de créer, lire, écrire, ajouter et supprimer, ce qui est mieux exprimé dans l'interface utilisateur en termes de droits simples comme «Modifier»). J'ai regardé les autorisations sous-jacentes avec icacls qui me dit son appelé «M», mais je n'ai aucun moyen de les mapper à «droits spécifiques» (dans les termes utilisés par icacls /?). Il existe une autre table de correspondance in the windows help. Est-ce que quelqu'un a obtenu une réponse autoritaire qui a fonctionné?

Il y a une question sans réponse très semblable à Question regarding PermissionEx (WIX), qu'il serait cruel mais juste de citer comme un double.

+1

Le droit Modify semble s'étendre à ReadData | WriteData | AppendData | ReadExtendedAttributes | WriteExtendedAttributes | ExecuteFile | ReadAttributes | WriteAttributes | Supprimer | ReadPermissions (dans l'énumération CLR System.Security.AccessControl.FileSystemRights) – leiflundgren

+0

@leiflundgren: merci - si c'était une réponse, je serais probablement upvote et accepter! –

Répondre

1

Après un peu plus de travail à ce sujet, mes conclusions sont les suivantes:

  1. En 3.0.5419.0, PermissionEx vs util: "PermissionEx vs autorisation devient sans objet et étendue =" true » comme vous voyez sur le net avec les versions précédentes est nécessaire. les versions précédentes donnent des erreurs lors de l'exécution la résolution BUILTIN \ UTILISATEURS.
  2. Sélection des trois droits que je semble obtenir ramassé les exigences de mon contexte

Je suis toujours très intéressé à voir d'autres réponses , comme je reste un WiX-noob

3

Les combinaisons suivantes sont ce que j'ai trouvé

"Modify" permission:

<util:PermissionEx GenericRead="yes" GenericWrite="yes" 
    GenericExecute="yes" Delete="yes" DeleteChild="yes" User="SOMEUSER" /> 

"lire" la permission:

<util:PermissionEx Read="yes" GenericRead="yes" User="SOMEUSER" /> 
1

Pour l'obtenir exactement comme vous en réglant les autorisations à la main sur Windows 7 et Windows XP en utilisant WiX 3.6, vous auriez besoin t o utiliser ceci:

<util:PermissionEx 
    User="Users" Domain="BUILTIN" 
    GenericWrite="yes" GenericExecute="yes" GenericRead="yes" 
    Delete="yes" Synchronize="yes" /> 
Questions connexes