Comment ajouter l'utilisateur interactif à un répertoire dans un Windows localisé à l'aide de WiX?

StackOverflow https://stackoverflow.com/questions/170140

  •  05-07-2019
  •  | 
  •  

Question

Comment ajouter l'utilisateur interactif suédois,

NT INSTANS\INTERAKTIV  

ou l'utilisateur interactif anglais,

NT AUTHORITY\INTERACTIVE  

ou tout autre groupe d'utilisateurs localisé doté des autorisations en écriture sur la liste de contrôle d'accès d'un dossier de programme?

Cette question concerne-t-elle "Comment utiliser secureObject "? Je ne peux pas utiliser la table LockPermissions car l'héritage sous-estimé est supprimé. Les autorisations secureObject semblent nécessiter Créer un répertoire plutôt que Répertoire ...

.
Était-ce utile?

La solution

Avec les versions récentes de Wix, vous pouvez récupérer les noms localisés des noms d'utilisateurs et de groupes intégrés souvent utilisés via une propriété. Par exemple, WIX_ACCOUNT_NETWORKSERVICE contient le nom localisé du compte de service réseau. Malheureusement, à partir de la version 3.0.4513, NT AUTHORITY \ INTERACTIVE ne figure pas parmi eux.

Il existe un exemple d'action personnalisée MSI qui crée des propriétés pour bon nombre des noms d'utilisateur et de groupe intégrés. Téléchargez-le ici . Ajoutez l’autorité de certification à votre programme d’installation Wix et planifiez-la au début de la séquence d’exécution de l’installation.

Une fois que vous avez le nom du compte localisé, ajoutez un élément PermissionEx pour modifier la liste de contrôle d'accès de votre répertoire. Par exemple:

<Directory ...>
   <Component ...>
      <CreateFolder>
         <PermissionEx User="[SID_INTERACTIVE]" .../>
      </CreateFolder>
   </Component ...>
</Directory ...>

Autres conseils

Il n’est pas possible en tant que tel d’ajouter les deux noms de compte à une liste de contrôle d’accès, car ils sont identiques. Le nom que vous voyez correspond à un SID, et ce SID est identique dans les localisations anglaise et suédoise. Dans le cas du groupe INTERACTIVE, ce SID est S-1-5-4 .

Je n'ai pas suivi la WiX depuis longtemps, mais je suppose qu'il doit exister un moyen de spécifier des SID pour les ACL au lieu des noms de compte. Vous ne devriez jamais, jamais, vous fier au nom de compte pour des comptes connus, à moins qu'il n'y ait absolument aucun moyen de l'éviter. Voici une liste des identifiants de sécurité connus pour référence.

Modifier: Ce message semble fournir une solution à votre problème en utilisant une action personnalisée pour traduire les SID en noms de compte - apparemment, WiX ne prend pas en charge immédiatement l'utilisation des SID pour les objets Permission ou PermissionEx.

Voici une liste plus fiable d'authentificateurs SID dans Q243330 de la base connue de Microsoft.

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