Tabela LockPermissions
A Tabela LockPermissions é usada para proteger partes individuais de um aplicativo em um ambiente bloqueado. Ela pode ser usada com a instalação de arquivos, chaves do Registro e pastas criadas.
Um pacote destinado à instalação no Windows Server 2008 R2 ou Windows 7 deve usar a Tabela MsiLockPermissionsEx em vez da Tabela LockPermissions. As versões do Windows Installer anteriores ao Windows Installer 5.0 ignoram a Tabela MsiLockPermissionsEx. O Windows Installer 5.0 pode instalar um pacote que contém a Tabela LockPermissions. A partir do Windows Installer 5.0, a instalação de um pacote que contém a Tabela MsiLockPermissionsEx e a Tabela LockPermissions falha e retorna a mensagem de erro 1941 do Windows Installer.
A Tabela LockPermissions tem as colunas a seguir.
Coluna | Tipo | Chave | Nullable |
---|---|---|---|
LockObject | Identificador | S | N |
Tabela | Texto | S | N |
Domínio | Formatado | S | S |
Usuário | Formatado | S | N |
Permissão | DoubleInteger | N | S |
Colunas
-
LockObject
-
Esta coluna e a coluna Tabela especificam juntas o arquivo, o diretório ou a chave do Registro que deve ser protegida. A coluna LockObject é uma chave estrangeira que aponta para a chave primária da tabela especificada pela coluna Tabela.
-
Tabela
-
Esta coluna e a coluna LockObject especificam o arquivo, o diretório ou a chave do Registro que deve ser protegida. Na coluna Tabela, insira Arquivo, Registro ou CreateFolder para especificar um LockObject listado na Tabela de Arquivos, Tabela de Registros ou Tabela CreateFolder.
-
Domínio
-
A coluna que identifica o domínio do usuário para o qual as permissões devem ser definidas. Esse é o nome de um computador autônomo ou um nome de domínio. O tipo de dados dessa coluna é Formatado e é possível usar a cadeia de caracteres [%USERDOMAIN] nesse campo para obter o valor da variável de ambiente USERDOMAIN para o domínio atual. Para obter qualquer outro domínio, é necessário usar as Ações Personalizadas. Para obter mais informações, confira a Tabela de Ações Personalizadas.
-
Usuário
-
A coluna que identifica o nome localizado do usuário para o qual as permissões devem ser definidas. Esse nome deve estar localizado no computador ou domínio. A instalação falhará caso o computador ou o controlador de domínio não reconheça a combinação de domínio e usuário ou caso o SID (identificador de segurança) do usuário não possa ser recuperado. Vários usuários podem ser especificados para um único LockObject.
Os nomes de usuário comuns "Todos" e "Administradores" podem ser inseridos em inglês e são mapeados para SIDs conhecidos. O LocalSystem recebe controle total em todos os descritores de segurança criados por meio da Tabela LockPermissions. Use a Propriedade ComputerName, a Propriedade LogonUser ou a Propriedade USERNAME neste campo para obter o usuário atual. Uma ação personalizada é necessária para inserir o nome localizado de qualquer outro usuário ou grupo.
Use vários registros com entradas idênticas de LockObject e Tabela (mas entradas de usuário diferentes) para especificar listas de controle de acesso para vários usuários.
-
Permissão
-
A coluna que identifica a descrição de inteiro dos privilégios do sistema. O seguinte fornece os valores mais usados (existe uma lista completa em Winnt.h).
Privilege Descrição GENERIC_ALL
0X10000000
268435456Leitura, gravação e acesso de execução GENERIC_EXECUTE
0X20000000
536870912Acesso de execução GENERIC_WRITE
0X40000000
1073741824Acesso de gravação Não é possível especificar GENERIC_READ na coluna Permissão. A tentativa de fazer isso falhará. Em vez disso, especifique um valor como KEY_READ ou FILE_GENERIC_READ.
O valor Nulo inserido nesta coluna é reservado para uso futuro.
Comentários
As ações InstallFiles, WriteRegistryValues e CreateFolders em tabelas de sequência processam as informações nesta tabela. Para obter informações sobre como usar as tabelas de sequência, confira Como usar uma tabela de sequência.
A permissão só pode ser definida na Tabela LockPermissions para usuários que já existem no computador ou domínio. Uma tentativa de definir permissões para um usuário desconhecido faz com que a instalação falhe, mesmo que essa conta de usuário seja criada durante a instalação por uma ação personalizada adiada.
É recomendável que o grupo local do administrador do sistema seja incluído em todas as ACL (listas de controle de acesso). Isso garante que o administrador do sistema possa acessar e manter objetos.
Cada arquivo, chave do Registro ou diretório listado na Tabela LockPermissions recebe um descritor de segurança explícito, independentemente de substituir um objeto existente ou não. O Windows Installer tenta preservar a segurança em objetos que já existem no sistema. Caso um objeto não esteja listado na Tabela LockPermissions e substituir um objeto existente, a substituição obterá as configurações de segurança do objeto que ele substitui.
Caso um objeto não esteja listado na Tabela LockPermissions e não substituir um objeto existente, ele não receberá nenhum descritor de segurança explícito. O acesso ao novo objeto baseia-se nos atributos de seu objeto pai ou contêiner. Caso um objeto não esteja listado na tabela e substituir um objeto sem descritor de segurança explícito, o acesso ao novo objeto será baseado nos atributos de seu objeto pai ou contêiner.
O Windows Installer define a propriedade UserSID para o SID (identificador de segurança) ou o usuário que está executando a instalação.
Validação
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de