Como aplico permissões de pasta no WiX, mantendo as permissões existentes, mas sem recursão?

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

Pergunta

O seguinte aplicará (modificará) permissões recursivamente e respeitará as permissões atuais:

<util:PermissionEx User="[MYUSER]" Domain="[NT_DOMAIN]" GenericRead="yes" GenericWrite="yes" GenericExecute="yes" Delete="yes" DeleteChild="yes" />

Mas não quero aplicá-lo recursivamente!

Eu quero isso de forma não recursiva, ou seja,apenas aquela pasta e sem filhos.

(Acredito que o elemento mais antigo limpa a herança de permissões da pasta pai, o que significa que não é bom para meus propósitos, pois devo preservar as permissões existentes).

Existe alguma maneira de dizer ao PermissionsEx para não aplicar as permissões recursivamente?Posso combinar os nós PermissionEx e Permission de alguma forma para obter o efeito desejado?Ou minha única opção é emitir uma chamada de linha de comando de ação personalizada para cacls.exe?

Foi útil?

Solução

Não tenho certeza se algum dos três padrões integrados (dois do MSI e um da extensão WiX) lida com esse cenário.FWIW, acho que não é realmente uma função do objeto para o qual você está definindo permissões, mas sim uma função de todos os objetos filhos que escolheram herdar.Em outras palavras, o pai não impõe a propagação e os filhos optam pela herança.

Então você pode ter que fazer alguma reflexão sobre todos os filhos e então configurá-los para bloquear a propagação.O esforço e o risco são altos, então eu me pergunto por que isso é realmente necessário e se você não pode simplesmente criar seu próprio novo diretório filho e definir as permissões dessa maneira, você não precisa se preocupar com esse problema.

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