Como faço para adicionar o usuário interativo para um diretório em um Windows localizada usando WiX?

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

  •  05-07-2019
  •  | 
  •  

Pergunta

Como faço para adicionar o usuário interativo sueco,

NT INSTANS\INTERAKTIV  

ou o Inglês usuário interativo,

NT AUTHORITY\INTERACTIVE  

ou qualquer outro grupo de usuário localizada com write permissões para ACL de uma pasta de programa?

É esta pergunta realmente "Como eu uso secureObject "? Eu não pode usar o LockPermissions Tabela porque eu undestand herança é removido. secureObject permissões parecem exigir CreateDirectory em vez de Diretório ...

Foi útil?

Solução

Com os recentes lançamentos da Wix, você pode recuperar os nomes localizados de muitas vezes usado built-in nomes de usuário e de grupo através de uma propriedade. Por exemplo, WIX_ACCOUNT_NETWORKSERVICE contém o nome localizado da conta Network Service. Infelizmente, a partir de 3.0.4513 NT AUTHORITY\INTERACTIVE não está entre eles.

Existe uma ação personalizada MSI exemplo que cria propriedades para muitos dos built-in nomes de usuário e grupo. obtê-lo aqui . Adicione o CA para o seu instalador Wix e programá-lo no início da seqüência de instalação executar.

Assim que tiver o nome da conta localizada, adicionar um elemento PermissionEx para modificar ACL do seu diretório. Por exemplo:

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

Outras dicas

Não há nenhuma maneira como tal para adicionar os dois nomes de conta para uma ACL uma vez que são uma ea mesma coisa. O nome que você vê corresponde a um SID, e que SID é idêntico tanto no Inglês e localizações suecos. No caso do grupo INTERACTIVE, que SID é S-1-5-4.

Eu não tenho seguido WiX em muito tempo, mas espero que tem que haver uma maneira de especificar SID para ACLs em vez dos nomes de conta. Você deve nunca, nunca confiar no nome da conta para contas bem conhecidas, a menos que não há absolutamente nenhuma maneira de evitá-lo. Aqui está um href="http://www.siao2.com/2008/06/24/8639579.aspx" rel="nofollow lista de SIDs conhecidos para referência.

Edit: este post parece fornecer uma solução para o seu problema usando uma ação personalizada para traduzir os SID para nomes de contas -. aparentemente WiX não fora o apoio caixa usando SIDs para permissão ou PermissionEx objetos

Aqui é uma lista mais autoritário de SIDs conhecidos em Q243330 da Microsoft Knownledge base.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top