Come faccio ad aggiungere l'utente interattivo a una directory in una Windows localizzata usando WiX?

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

  •  05-07-2019
  •  | 
  •  

Domanda

Come aggiungo l'utente interattivo svedese

NT INSTANS\INTERAKTIV  

o l'utente interattivo inglese

NT AUTHORITY\INTERACTIVE  

o qualsiasi altro gruppo di utenti localizzato con scrivi autorizzazioni per l'ACL di una cartella di programma?

Questa domanda è effettivamente " Come posso usare secureObject " ;? Non riesco a utilizzare la Tabella LockPermissions perché ho rimosso l'ereditarietà. Le autorizzazioni secureObject sembrano richiedere CreateDirectory anziché Directory ...

È stato utile?

Soluzione

Con le recenti versioni di Wix, è possibile recuperare i nomi localizzati di nomi utente e gruppi incorporati di uso frequente tramite una proprietà. Ad esempio, WIX_ACCOUNT_NETWORKSERVICE contiene il nome localizzato dell'account del servizio di rete. Sfortunatamente, al 3.0.4513 NT AUTHORITY \ INTERACTIVE non è tra questi.

Esiste un'azione personalizzata MSI di esempio che crea proprietà per molti dei nomi utente e di gruppo incorporati. Scarica qui . Aggiungi la CA al tuo programma di installazione Wix e pianificala all'inizio della sequenza di esecuzione dell'installazione.

Una volta che hai il nome dell'account localizzato, aggiungi un elemento PermissionEx per modificare l'ACL della tua directory. Ad esempio:

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

Altri suggerimenti

Non è possibile in quanto tale aggiungere entrambi i nomi degli account a un ACL poiché sono tutti uguali. Il nome che vedi corrisponde a un SID e quel SID è identico nelle localizzazioni inglese e svedese. Nel caso del gruppo INTERACTIVE, quel SID è S-1-5-4 .

Non seguo WiX da molto tempo, ma mi aspetto che ci debba essere un modo per specificare SID per ACL anziché nomi di account. Non dovresti mai e poi mai fare affidamento sul nome dell'account per account noti a meno che non ci sia assolutamente alcun modo per evitarlo. Ecco un elenco di SID noti come riferimento.

Modifica: Questo post sembra fornire una soluzione al tuo problema usando un'azione personalizzata per tradurre i SID in nomi di account - apparentemente WiX non supporta immediatamente l'utilizzo di SID per gli oggetti Permission o PermissionEx.

Ecco un elenco più autorevole di SID noti in Q243330 della Microsoft Knownledge Base.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top