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


70

Podczas próby zainstalowania podpisanej przez Microsoft aplikacji ClickOnce pojawia się błąd informujący: „Administrator zablokował tę aplikację, ponieważ potencjalnie stanowi zagrożenie dla bezpieczeństwa komputera” oraz „Twoje ustawienia zabezpieczeń nie pozwalają na zainstalowanie tej aplikacji na komputerze” .

Jako administrator, który ustaliłby wspomniane zasady, nie mogę przez całe życie dowiedzieć się, 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 dla innych użytkowników, którzy powinni być korzystający z tych samych uprawnień, co użytkownik otrzymujący następujący komunikat. Pamiętaj, że dokładnie takie same zasady grupy domen są stosowane do tego użytkownika, który doświadcza błędu, i do użytkowników, którzy nie otrzymują błędu.

Imgur

Nawet próba uruchomienia aplikacji „jako administrator” nie rozwiązuje problemu. Dzienniki zdarzeń nie zawierają błędów i nie mogę znaleźć żadnych dzienników, które mogłyby pomóc w zdiagnozowaniu problemu.

Jakie lokalne zasady lub ustawienia zezwalają na tę aplikację lub ją odmawiają?


Wymaga Strefy Internetowej lub Intranetowej (pełne zaufanie do instalacji CD-ROM) zgodnie z msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx

To ostrzeżenie występuje na komputerze jednego użytkownika, czy masz wielu użytkowników na wielu komputerach i masz ten problem?
— Ramhound,

W pierwotnym pytaniu zauważyłem, choć być może nie dość wyraźnie, że został on zablokowany dla „tylko jednego użytkownika”.
— Beems

To wydaje się dużym problemem (34 438 wyświetleń). Jak mogę temu zapobiec na komputerze innej osoby, jeśli jestem programistą? Ten problem powstał w wyniku tworzenia programów w programie Visual Studio i próby uruchomienia pliku Setup.exe dla mojego programu.
— Daniel

@Daniel Jeśli twoja aplikacja nie wymaga eskalacji, możesz spróbować ustawić wartość rejestru w HKCU zamiast: HKCU\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internetna Enabled(pełne ujawnienie: nie testowałem tego). W przeciwnym razie, jeśli to nie zadziała, możesz spróbować dołączyć proces umożliwiający eskalację, który ustawi go pod HKLM
— Beems

Odpowiedzi:


94

Jest to spowodowane „Zachowaniem monitu zaufania ClickOnce”: https://msdn.microsoft.com/en-us/library/ee308453.aspx

Aby to zmienić, po prostu zmień wartości w Rejestrze, aby móc zainstalować aplikację.

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

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

W polu Otwórz wpisz regedit32, a następnie kliknij przycisk 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 podklucze jako Wartość ciągu, jeśli jeszcze nie istnieją, wraz z powiązanymi wartościami pokazanymi w poniższej tabeli.

Obraz w tabeli

Na moim komputerze wartości zostały ustawione na „Wyłączone” i nie mam pojęcia, która aplikacja to zrobiła. Zmieniłem wartości na domyślne i teraz wszystko działa ponownie tak, jak powinno.

Możesz też po prostu usunąć sam klucz „TrustManager” i wszystko również działa.



14
Dzięki, to rzeczywiście był problem. Zmieniłem "HKLM\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internet"się Enabledi działa jako przeznaczone-teraz.
— Beems

1
Chciałbym wspomnieć, że domyślną opcją jest „Włączone” dla wszystkich witryn oprócz niezaufanych.
— Hooch

3
W moim przypadku muszę zmienić \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevelnaEnabled
— MaciejLisCK

2
Istnieją różne wpisy dla różnych stref, takich jak Internet, LocalIntranet, MyComputer, TrustedSites, UntrustedSites. Wybierz ten, który pasuje do Twojego scenariusza i zmień jego wartość na Enabled.
— smwikipedia

4
jak, do diabła, powinien to zrobić zwykły użytkownik? ok cóż mam na myśli, że jeśli ktoś nie jest głupi, może google znaleźć tę odpowiedź i zrobić to ... ale wiesz, co mam na myśli, co za ból w dupie. Gdyby Windows nie był najlepszym systemem operacyjnym pod względem produktywności, nie dałbym rady z tym badziewiem (i automatycznym aktualizowaniem wymuszonym ponownym uruchomieniem)
— Mikey

2

Oto skrypt PowerShell, który zaktualizuje 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 skopiować / wkleić powyższy kod w „podwyższonym” programie PowerShell (kliknij prawym przyciskiem myszy jako administrator).

A jeśli wystąpią jakieś błędy, to prawdopodobnie dlatego, że ścieżka nie istnieje, uruchom te polecenia

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'
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.