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

Nie można zainstalować aplikacji ClickOnce z powodu ustawień zabezpieczeń (Windows 10)

Podczas próby zainstalowania aplikacji ClickOnce podpisanej przez Microsoft, pojawia się błąd z informacją “Twój administrator zablokował tę aplikację, ponieważ potencjalnie stanowi ona zagrożenie dla bezpieczeństwa komputera” oraz “Twoje ustawienia bezpieczeństwa nie pozwalają na zainstalowanie tej aplikacji na Twoim komputerze”.

Jako administrator, który ustawiłby wspomniane zasady, nie mogę do końca zrozumieć, dlaczego jest to blokowane tylko dla jednego użytkownika, a nie dla innych użytkowników, których komputery są oparte na tym samym obrazie i dlaczego działa to dla innych użytkowników, którzy powinni cieszyć się tymi samymi przywilejami, co użytkownik, który otrzymuje następujący komunikat. Zauważ, że dokładnie te same zasady grupy domeny są zastosowane do tego użytkownika, który doświadcza błędu i do użytkowników, którzy nie otrzymują błędu.

Nawet próba uruchomienia aplikacji “jako administrator” nie rozwiązuje problemu. Dzienniki zdarzeń nie wykazują żadnych błędów, a ja nie mogę w inny sposób znaleźć żadnych dzienników, które pomogłyby zdiagnozować problem.

Jakie lokalne zasady lub ustawienia pozwoliłyby lub uniemożliwiłyby uruchomienie tej aplikacji?

Odpowiedzi (2)

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

Jest to spowodowane przez “ClickOnce Trust Prompt Behavior”: https://msdn.microsoft.com/en-us/library/ee308453.aspx

Aby to dostosować, wystarczy zmienić wartości w Rejestrze i powinieneś być w stanie zainstalować aplikację.

Aby włączyć monit o zaufanie ClickOnce za pomocą edytora rejestru Otwórz edytor rejestru:

Kliknij przycisk Start, a następnie kliknij polecenie Uruchom.

W polu Otwórz wpisz regedit, a następnie kliknij OK.

Znajdź następujący klucz rejestru:

\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT.NETFramework\Security\TrustManager\PromptingLevel

Jeśli klucz nie istnieje, utwórz go.

Dodaj następujące klucze podrzędne jako String Value, jeśli jeszcze nie istnieją, z powiązanymi wartościami przedstawionymi w poniższej tabeli.

Na moim komputerze wartości były ustawione na “Disabled” i nie mam pojęcia, która aplikacja to zrobiła. Zmieniłem wartości na domyślne i teraz wszystko znowu działa jak należy.

Możesz też po prostu usunąć sam klucz “TrustManager” i wszystko działa tak samo.


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

Poniżej znajduje się skrypt powershell, który zaktualizuje te wartości:

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'

Wystarczy tylko skopiować/wkleić powyższy kod, w “podniesionym” powershellu, (prawym przyciskiem myszy uruchom jako administrator).

A jeśli pojawią się jakieś błędy, to prawdopodobnie dlatego, że ścieżka nie istnieje, to wykonaj następujące komendy

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'