Impossible d'installer l'application ClickOnce en raison des paramètres de sécurité (Windows 10)

70

Lors de la tentative d'installation d'une application ClickOnce signée par Microsoft, un message d'erreur s'affiche: "Votre administrateur a bloqué cette application car il peut potentiellement poser un risque 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 lesdites stratégies, je ne peux pas comprendre pourquoi cela est bloqué pour un seul utilisateur et non pour d'autres utilisateurs dont les PC sont basés sur la même image et pourquoi cela fonctionne pour d'autres utilisateurs qui devraient l'être. bénéficiant 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 reçoivent pas.

Imgur

Même tenter d'exécuter l'application "en tant qu'administrateur" ne résout pas le problème. Les journaux des événements ne signalent aucune erreur. Sinon, je ne trouve aucun journal permettant de diagnostiquer le problème.

Quelles stratégies ou paramètres locaux autoriseraient ou refuseraient cette application?

Beems
la source
Il nécessite une zone Internet ou Intranet (confiance totale pour l’installation sur CD-ROM) selon msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx
Cet avertissement se produit sur la machine d'un seul utilisateur ou plusieurs utilisateurs sur plusieurs machines ont-ils ce problème?
Ramhound
J'ai noté, bien que ce ne soit peut-être pas tout à fait clairement, dans la question initiale qu'il était bloqué pour "un seul utilisateur".
Beems
Cela semble être un gros problème (34,438 vues). Comment puis-je empêcher que cela se produise sur l'ordinateur d'une autre personne si je suis développeur? Ce problème provient de la création de programmes dans Visual Studio et de la tentative d’exécution du fichier Setup.exe pour mon programme.
Daniel
@Daniel Si votre application ne nécessite pas d'escalade, vous pouvez essayer de définir la valeur de registre sous HKCU: HKCU\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internetà Enabled(divulgation complète: ce que je n'ai pas testé). Sinon, si cela ne fonctionne pas, vous pouvez essayer d'inclure un processus pouvant être escaladé qui le configurera sous HKLM
Beems

Réponses:

94

Cela est dû au "Comportement de l'invite de confiance ClickOnce": https://msdn.microsoft.com/en-us/library/ee308453.aspx

Pour ajuster cela, changez simplement les valeurs dans le registre et vous devriez pouvoir installer l'application.

Pour activer l'invite d'approbation ClickOnce à l'aide de l'éditeur de registre Ouvrez l'éditeur de registre:

Cliquez sur Démarrer, puis sur Exécuter.

Dans la zone Ouvrir, tapez regedit32, puis cliquez sur OK.

Recherchez la clé de registre suivante:

\ HKEY_LOCAL_MACHINE \ LOGICIEL \ 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 indiquées dans le tableau suivant.

Image de la table

Sur mon ordinateur, les valeurs ont été définies sur "Désactivé" et je ne sais pas quelle application a fait cela. J'ai changé 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 également.


Thomas Sturzenegger
la source
14
Merci, c'était bien le problème. J'ai changé "HKLM\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internet"pour Enabledet cela fonctionne comme prévu maintenant.
Beems
1
J'aimerais mentionner que l'option par défaut est "Activé" pour tous les sites sauf les sites non approuvés.
Hooch
3
Dans mon cas, je dois changer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevelpourEnabled
MaciejLisCK
2
Il existe différentes entrées pour différentes zones, telles que Internet, LocalIntranet, MyComputer, TrustedSites, UntrustedSites. Choisissez celui qui correspond à votre scénario et changez sa valeur en Enabled.
smwikipedia
4
comment sont-ils censés faire un utilisateur normal? ok ben je veux dire si quelqu'un n'est pas stupide, il peut google et trouver cette réponse et le faire .. mais vous savez ce que je veux dire, quelle douleur dans le cul. Si Windows n'était pas le meilleur système d'exploitation pour la productivité, je ne tolérerais pas cette merde (et le redémarrage forcé à mise à jour automatique)
Mikey Le
2

Voici un script PowerShell qui mettra à 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 simplement de copier / coller le code ci-dessus, à l'état "élevé", (clic droit exécuté en tant qu'administrateur).

Et si vous obtenez des erreurs, c'est probablement parce que le chemin n'existe pas, alors exécutez cette commande

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'
Aleksandar Pavić
la source