Al intentar instalar una aplicación ClickOnce firmada por Microsoft, aparece un error que dice "Su administrador ha bloqueado esta aplicación porque potencialmente supone un riesgo para la seguridad de su ordenador" y "Su configuración de seguridad no permite que esta aplicación se instale en su ordenador".
Como administrador que habría establecido dichas políticas, no puedo entender por qué se está bloqueando para un solo usuario y no para otros usuarios cuyos PCs están basados en la misma imagen y por qué funciona para otros usuarios que deberían estar disfrutando de los mismos privilegios que el usuario que está recibiendo el siguiente mensaje. Tenga en cuenta que se aplican exactamente las mismas políticas de grupo de dominio a este usuario que está experimentando el error y a los usuarios que no están recibiendo el error.
Incluso intentando ejecutar la aplicación "como administrador" no resuelve el problema. Los registros de eventos no muestran errores, y no puedo encontrar ningún otro registro que ayude a diagnosticar el problema.
¿Qué políticas o configuraciones locales podrían permitir o denegar esta aplicación?
Esto es causado por el "ClickOnce Trust Prompt Behavior": https://msdn.microsoft.com/en-us/library/ee308453.aspx
Para ajustar esto, simplemente cambie los valores en el Registro y debería poder instalar la aplicación.
Para habilitar el aviso de confianza ClickOnce utilizando el editor del registro Abrir el editor del registro:
Haga clic en Inicio, y luego haga clic en Ejecutar.
En el cuadro Abrir, escriba regedit32 y, a continuación, haga clic en Aceptar.
Busque la siguiente clave del registro:
\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT.NETFramework\Security\TrustManager\PromptingLevel
Si la clave no existe, créela.
Añada las siguientes subclaves como valor de cadena, si no existen ya existen, con los valores asociados que se muestran en la siguiente tabla.
[]
En mi ordenador, los valores se establecieron en "Disabled" y no tengo ninguna pista de qué aplicación hizo eso. He cambiado los valores a los predeterminados y ahora todo vuelve a funcionar como debería.
O simplemente puede eliminar la clave "TrustManager" sí mismo y todo está trabajando también.
Aquí hay un script de powershell que actualizará los 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'
Es suficiente con copiar/pegar el código anterior, en "elevado" powershell, (clic derecho ejecutar como administrador).
Y si te da algún error, probablemente sea porque la ruta no existe, entonces ejecuta estos 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'