Come faccio ad aggiungere l'utente interattivo a una directory in una Windows localizzata usando WiX?
-
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 ...
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.