2017-09-21 19:39:36 +0000 2017-09-21 19:39:36 +0000
79
79

Incapaz de instalar a aplicação ClickOnce devido às definições de segurança (Windows 10)

Ao tentar instalar uma aplicação ClickOnce assinada pela Microsoft, aparece um erro indicando “O seu administrador bloqueou esta aplicação porque potencialmente representa um risco de segurança para o seu computador” e “As suas definições de segurança não permitem que esta aplicação seja instalada no seu computador”.

Como administrador que teria definido as referidas políticas, não posso, por toda a minha vida, descobrir porque é que isto está a ser bloqueado apenas para um utilizador e não para outros utilizadores cujos PCs são baseados na mesma imagem e porque é que funciona para outros utilizadores que deveriam usufruir dos mesmos privilégios que o utilizador que está a receber a seguinte mensagem. Note-se que são aplicadas exactamente as mesmas políticas de grupo de domínio a este utilizador que está a sofrer o erro e aos utilizadores que não estão a receber o erro.

Mesmo a tentativa de executar a aplicação “como administrador” não resolve o problema. Os registos de eventos não mostram erros, e de outra forma não consigo encontrar quaisquer registos para ajudar a diagnosticar o problema.

Que políticas ou definições locais permitiriam ou negariam esta aplicação?

回答 (2)

108
108
108
2017-09-22 12:00:59 +0000

Isto é causado pelo “ClickOnce Trust Prompt Behavior”: https://msdn.microsoft.com/en-us/library/ee308453.aspx

Para ajustar isto, basta alterar os valores no Registo e deverá ser capaz de instalar a aplicação.

Para activar o aviso de confiança ClickOnce utilizando o editor do registo Abra o editor do registo:

Clique em Iniciar, e depois clique em Executar.

& > Na caixa Abrir, digite regedit, e depois clique em OK.

& > Encontrar a seguinte chave de registo: & > & > \HKEY_LOCAL\MACHINE\SOFTWARE\MICROSOFT.NETFramework\Security\TrustManager\PromptingLevel

Se a chave não existir, crie-a.

& > Adicione as seguintes subchaves como String Value, se ainda não existirem, com os valores associados mostrados na tabela seguinte.

No meu computador, os valores foram definidos para “Deficiente” e não faço ideia de qual a aplicação que o fez. Mudei os valores para o padrão e agora tudo funciona novamente como deveria.

Ou pode simplesmente apagar a chave “TrustManager” em si e tudo está a funcionar também.


4
4
4
2019-10-03 12:46:33 +0000

Aqui está um guião de powershell que irá actualizar os valores:

Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'Internet' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'LocalIntranet' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'MyComputer' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'TrustedSites' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'UntrustedSites' -value 'Enabled'

Basta copiar/colar acima do código, em powershell “elevado”, (clique com o botão direito do rato como administrador).

E se receber alguns erros, é provavelmente porque o caminho não existe, então corra estes comandos

New-Item "HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel" -force | Out-Null
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'Internet' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'LocalIntranet' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'MyComputer' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'TrustedSites' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'UntrustedSites' -value 'Enabled'