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

Impossibile installare l'applicazione ClickOnce a causa delle impostazioni di sicurezza (Windows 10)

Quando si tenta di installare un'applicazione ClickOnce firmata da Microsoft, appare un errore che dice “L'amministratore ha bloccato questa applicazione perché potenzialmente presenta un rischio per la sicurezza del computer” e “Le impostazioni di sicurezza non consentono l'installazione di questa applicazione sul computer”.

Come amministratore che avrebbe impostato tali politiche, non riesco a capire perché questo viene bloccato solo per un utente e non per altri utenti i cui PC sono basati sulla stessa immagine e perché funziona per altri utenti che dovrebbero godere degli stessi privilegi dell'utente che riceve il seguente messaggio. Notate che le stesse identiche politiche di gruppo del dominio sono applicate a questo utente che sta riscontrando l'errore e agli utenti che non stanno ricevendo l'errore.

Anche tentare di eseguire l'applicazione “come amministratore” non risolve il problema. I log degli eventi non mostrano errori, e non riesco a trovare nessun altro log per aiutare a diagnosticare il problema.

Quali politiche o impostazioni locali permettono o negano questa applicazione?

Risposte (2)

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

Questo è causato dal “ClickOnce Trust Prompt Behavior”: https://msdn.microsoft.com/en-us/library/ee308453.aspx

Per regolare questo, basta cambiare i valori nel Registro di sistema e si dovrebbe essere in grado di installare l'applicazione.

Per abilitare il prompt di fiducia ClickOnce utilizzando l'editor di registro Aprire l'editor di registro:

Fare clic su Start, quindi su Esegui.

Nella casella Apri, digita regedit, quindi fai clic su OK.

Trova la seguente chiave di registro:

\HKEY_LOCAL\MACHINE\SOFTWARE\MICROSOFT.NETFramework\Security\TrustManager\PromptingLevel

Se la chiave non esiste, creala.

Aggiungi le seguenti sottochiavi come String Value, se non esistono già, con i valori associati mostrati nella seguente tabella.

Sul mio computer, i valori erano impostati su “Disabilitato” e non ho idea di quale applicazione lo abbia fatto. Ho cambiato i valori con quelli di default e ora tutto funziona di nuovo come dovrebbe.

Oppure puoi semplicemente cancellare la chiave “TrustManager” stessa e tutto funziona come dovrebbe.


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

Ecco uno script powershell che aggiornerà i valori:

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 copiare/incollare il codice qui sopra, in powershell “elevato”, (click destro esegui come amministratore).

E se ottenete degli errori, probabilmente perché il percorso non esiste, allora eseguite questi comandi

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'