Lors d'une tentative d'installation d'une application ClickOnce signée Microsoft, une erreur s'affiche, indiquant : " Votre administrateur a bloqué cette application car elle présente un risque potentiel pour la sécurité de votre ordinateur " et " Vos paramètres de sécurité ne permettent pas l'installation de cette application sur votre ordinateur ".
En tant qu'administrateur qui aurait défini ces stratégies, je n'arrive pas à comprendre pourquoi cette application est bloquée pour un seul utilisateur et non pour d'autres utilisateurs dont les PC sont basés sur la même image et pourquoi elle fonctionne pour d'autres utilisateurs qui devraient bénéficier des mêmes privilèges que l'utilisateur qui reçoit le message suivant. Notez que les mêmes stratégies de groupe de domaine sont appliquées à cet utilisateur qui rencontre l'erreur et aux utilisateurs qui ne la rencontrent pas.
Même en essayant d'exécuter l'application "en tant qu'administrateur", le problème n'est pas résolu. Les journaux d'événements ne montrent aucune erreur, et je ne peux pas trouver d'autres journaux pour aider à diagnostiquer le problème.
Quels sont les politiques ou paramètres locaux qui autoriseraient ou refuseraient cette application ?
Ceci est causé par le "ClickOnce Trust Prompt Behavior" : https://msdn.microsoft.com/en-us/library/ee308453.aspx.
Pour régler ce problème, il suffit de modifier les valeurs dans le registre et vous devriez pouvoir installer l'application.
Pour activer l'invite de confiance de ClickOnce à l'aide de l'éditeur de registre Ouvrez
l'éditeur de registre :
Cliquez sur Démarrer, puis sur Exécuter.
Dans la case Ouvrir, tapez regedit32, puis cliquez sur OK.
Trouvez la clé de registre suivante :
\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel
Si la clé n'existe pas, créez-la.
Ajoutez les sous-clés suivantes en tant que valeur de chaîne, si elles n'existent pas déjà, avec les valeurs associées. existent pas déjà, avec les valeurs associées indiquées dans le tableau suivant.
[!Image de la table][1]][1]
Sur mon ordinateur, les valeurs étaient définies sur "Disabled" ; et je n'ai aucune idée de l'application qui a fait cela. J'ai modifié les valeurs par défaut et maintenant tout fonctionne à nouveau comme il se doit.
Ou vous pouvez simplement supprimer la clé "TrustManager" ; elle-même et tout fonctionne aussi bien.
[1] : https://i.stack.imgur.com/3Ri8v.png
Voici un script powershell qui va mettre à jour les valeurs :
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'
Il suffit de copier/coller le code ci-dessus, dans un powershell "élevé" (clic droit, exécuter en tant qu'administrateur).
Et si vous obtenez des erreurs, c’est probablement parce que le chemin n’existe pas, alors exécutez les commandes suivantes
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'