Por que isso está me impedindo de instalar um MSI: O Administrador do Sistema definiu políticas para impedir esta instalação

28

Estou tentando instalar um MSI em uma máquina Windows Server 2012 que faz parte do meu domínio de laboratório. Sou administrador local e de domínio, mas parece-me impedido de instalar este MSI.

Para esclarecimento, ao tentar instalar a extensão git para o visual studio (localizada aqui ) logada como um usuário de domínio que faz parte do grupo de administradores, recebo o seguinte erro

insira a descrição da imagem aqui

A máquina que relata o erro é um Windows Server 2012.

Estou quase certo de que deve haver algum tipo de restrição de diretiva de grupo? Nenhum será definido, a menos que seja o nível de segurança padrão?

Para esclarecimentos, gostaria de saber o que está impedindo a instalação deste MSI por um administrador de domínio?

Jason Hyland
fonte

Respostas:

37

Depois de passar algum tempo analisando a política de grupo, até onde pude perceber, não havia nada que fosse relevante. Eu me deparei com este post que sugere que eu tente iniciar um prompt de comando como administrador e executando

 msiexec /a install.msi

Isso pareceu funcionar, mas correu muito rapidamente - na verdade, não funcionou . Por um capricho, tentei isso dentro do prompt de comando do administrador.

 msiexec /i install.msi

que trabalhou um prazer.

Jason Hyland
fonte
Isso funciona, mas pode ser irritante sempre que você instala a partir de um msi. Veja a resposta de Armin Sadeghi abaixo para uma solução a longo prazo.
Jake
17

Eu me deparei com esse comportamento, em que a instalação do MSI é impedida com "O administrador do sistema definiu políticas para impedir essa instalação" antes. Acredito que seja devido à política padrão de Restrição de Software do Windows e já a vi no Windows Server 2008 R2 e no Windows Server 2012.

Provavelmente existe uma maneira melhor baseada em GUI de alterar a política, mas definir a seguinte chave reg como administrador na máquina faz o truque:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"DisableMSI"=dword:00000000
Armin Sadeghi
fonte
5
Isso funciona 100%
Jan Chrbolka
3
Isso funcionou para mim. Eu tive que adicionar a parte "Installer" do caminho como uma chave e adicionar o DWORD "DisableMSI" (sem as aspas).
Mike S
1
Tinha a mesma mensagem de erro com a atualização do AcrobatReader, após a alteração do registro para instalação zero ter sido bem-sucedida.
Kemin Zhou
Tentei procurar a chave "DisableMSI" no caminho do registro "HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ Installer", mas a pasta "Installer" não existe. Devo criar uma pasta Installer e adicionar o dword DisableMSI?
Harvey Darvey 18/11
2

Isso geralmente ocorre devido a uma Diretiva de Grupo ou Diretiva Local que desabilita o Windows Installer.

Procure no seu Controlador de Domínio se você tiver um GPO desativando o "Windows Installer": Configuração do Computador> Modelos Administrativos> Componentes do Windows> Windows Installer> "Desativar o Windows Installer".

Verifique se está definido como "Não configurado" ou "Desativado".

Se você não o encontrar nos GPOs, consulte as diretivas locais do computador usando gpedit.msc.

Nota: o fato de você ser um administrador de domínio não importa. Tudo depende do escopo do GPO.

Charlie Wilson
fonte
2
Verify that it is set to "Not configured" or "Disabled".Isso não é verdade. O padrão (não configurado) é o 1que significa managed only. msdn.microsoft.com/en-us/library/aa368304.aspx Desativado em termos de gpos significa que a política será desativada; portanto, a chave reg será excluída e o padrão será usado. O som é estranho, mas você precisa escolher Enablede selecionar Neverna caixa suspensa.
Jürgen Steinblock
1

Tivemos o mesmo problema exato ao criar um MSI usando IsCmdBld.exe, mas não ao criar a partir da interface do usuário do software InstallShield.

Ao executar o instalador, veríamos o erro mencionado pelo OP e o log de instalação mostraria: MSI_LUA: Invalid Descriptor Format.

A causa do problema era que estávamos passando um valor ProductCode Guid à linha de comando IsCmdBld.exe assim: -z "ProductCode"="f176c219-dec0-4fa9-a373-94a711f28a3d".

Você pode ver que o Guid fornecido aqui não está cercado por {e }.

Nós o corrigimos passando o guid entre colchetes: o -z "ProductCode"="{f176c219-dec0-4fa9-a373-94a711f28a3d}"que funciona conforme o esperado e não exibe mais o erro.

KavenG
fonte
0

clique com o botão direito do mouse -> executar como administrador

calorie712
fonte
2
Como isso é diferente da resposta aceita?
Dave M
0

Nem os msiexec nem registro correções trabalharam para mim (mesmo após a reinicialização), mas a desativação User Account Control (como sugerido por Ha Ly em esta discussão ) e reiniciar fez o truque.

Miles Wolbe
fonte
-2

Você tem a opção de desativar o UAC via registro, alterando DWORD EnableLUAde de 1para 0em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system. Você receberá uma notificação de que é necessária uma reinicialização. Após a reinicialização, o UAC é desativado.

Bismarck
fonte