Wanneer u probeert een ClickOnce-toepassing met Microsoft-ondertekening te installeren, verschijnt een foutbericht met de tekst "Uw beheerder heeft deze toepassing geblokkeerd omdat ze mogelijk een beveiligingsrisico voor uw computer vormt" en "Uw beveiligingsinstellingen staan niet toe dat deze toepassing op uw computer wordt geïnstalleerd".
Als beheerder die deze beleidsregels zou hebben ingesteld, kan ik er maar niet achter komen waarom dit wordt geblokkeerd voor slechts één gebruiker en niet voor andere gebruikers wier PC's zijn gebaseerd op dezelfde image en waarom het werkt voor andere gebruikers die dezelfde privileges zouden moeten hebben als de gebruiker die het volgende bericht ontvangt. Merk op dat exact hetzelfde domein groepsbeleid wordt toegepast op deze gebruiker die de fout ervaart en op gebruikers die de fout niet krijgen.
Zelfs een poging om de applicatie "als administrator" uit te voeren lost het probleem niet op. De event logs laten geen fouten zien, en ik kan ook geen andere logs vinden om het probleem te diagnosticeren.
Welk lokaal beleid of welke instellingen zouden deze toepassing toestaan of weigeren?
Dit wordt veroorzaakt door de "ClickOnce Trust Prompt Behavior": https://msdn.microsoft.com/en-us/library/ee308453.aspx
Om dit aan te passen, verander gewoon de waarden in het Register en je zou in staat moeten zijn om de applicatie te installeren.
Om de ClickOnce trust prompt in te schakelen met behulp van de register editor Open de register editor:
Klik op Start, en klik dan op Uitvoeren.
Typ in het vak Open regedit32, en klik dan op OK.
Zoek de volgende registersleutel:
\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT.NETFramework\Security\TrustManager\PromptingLevel
Als de sleutel niet bestaat, maak hem dan aan.
Voeg de volgende subsleutels toe als String Value, als ze nog niet bestaan, met de bijbehorende waarden die in de volgende tabel staan.
Op mijn computer waren de waarden ingesteld op "Disabled" en ik heb geen idee welke applicatie dat heeft gedaan. Ik heb de waarden veranderd naar standaard en nu werkt alles weer zoals het hoort.
Of je kunt gewoon de sleutel "TrustManager" zelf verwijderen en alles werkt ook weer.
Hier is een powershell script dat de waarden zal bijwerken:
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'
Het is genoeg om bovenstaande code te kopiëren/plakken, in "elevated" powershell, (rechter muisknop uitvoeren als administrator).
En als je wat fouten krijgt, is het waarschijnlijk omdat het pad niet bestaat, voer dan deze commando's uit
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'