Неможливо встановити програму ClickOnce через налаштування безпеки (Windows 10)


70

При спробі встановити додаток ClickOnce, підписаний Microsoft, з'являється помилка, що говорить "Ваш адміністратор заблокував цю програму, оскільки вона потенційно становить загрозу безпеці для вашого комп'ютера" та "Ваші налаштування безпеки не дозволяють встановити цю програму на комп'ютер" .

Як адміністратор, який встановив би вказану політику, я не можу протягом життя зрозуміти, чому це блокується лише для одного користувача, а не для інших користувачів, чиї ПК засновані на одному зображенні та чому він працює для інших користувачів, які повинні бути користуються тими ж привілеями, що і користувач, який отримує таке повідомлення. Зауважте, що точно та сама політика групи домену застосовується до цього користувача, який відчуває помилку, і до користувачів, які не отримують помилку.

Імгур

Навіть спроба запуску програми "як адміністратор" не вирішує проблему. Журнали подій не показують помилок, і я не можу знайти інакше журналів, які б допомогли діагностувати проблему.

Які місцеві політики чи налаштування дозволять або забороняють цю програму?


Для цього потрібна зона Інтернет або Інтранет (Повна довіра для установки компакт-дисків) відповідно до msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx

Це попередження відбувається на машині одного користувача або є кілька користувачів на декількох машинах, виникли проблеми?
Рамхаунд

У початковому запитанні я хоч і не зовсім чітко зазначив, що його блокують для "лише одного користувача".
Здається

Це здається великою проблемою (34 488 переглядів). Як я можу не допустити цього на комп’ютері іншої людини, якщо я розробник? Ця проблема виникла із створення програм у Visual Studio та спроби запустити Setup.exe для моєї програми.
Даніель

@Daniel Якщо вашій програмі не потрібна ескалація, ви можете спробувати встановити значення реєстру під HKCU замість: HKCU\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internetна Enabled(Повне розкриття: Я цього не перевіряв). В іншому випадку, якщо це не спрацює, ви можете спробувати включити ескалаційний процес, який встановить його під HKLM
здається,

Відповіді:


94

Це спричинено "Поведінковою поведінкою ClickOnce": https://msdn.microsoft.com/en-us/library/ee308453.aspx

Щоб відрегулювати це, просто змініть значення в Реєстрі, і ви зможете встановити програму.

Щоб увімкнути довіру ClickOnce за допомогою редактора реєстру Відкрийте редактор реєстру:

Клацніть Пуск, а потім - Виконати.

У полі Відкрити введіть regedit32 та натисніть кнопку ОК.

Знайдіть наступний ключ реєстру:

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

Якщо ключа не існує, створіть його.

Додайте наступні підрозділи як значення рядка, якщо вони ще не існують, з пов'язаними значеннями, показаними в наступній таблиці.

Зображення таблиці

На моєму комп’ютері було встановлено значення "Відключено", і я не маю поняття, яка програма це зробила. Я змінив значення за замовчуванням і тепер все працює так, як слід.

Або ви можете просто видалити сам ключ "TrustManager", і все також працює.



14
Спасибі, це справді була проблема. Я змінив "HKLM\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internet"до Enabledі він працює як наміри в даний час.
Здається

1
Хотілося б зазначити, що за замовчуванням параметр "Увімкнено" для всіх сайтів, крім ненадійних.
Хуч

3
У моєму випадку мені потрібно змінитись \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevelнаEnabled
MaciejLisCK

2
Існують різні записи для різних зон, таких як Інтернет, LocalIntranet, MyComputer, TrustedSites, UntrustedSites. Виберіть той, який відповідає вашому сценарію, та змініть його значення Enabled.
smwikipedia

4
як, пекло, звичайний користувач повинен це зробити? гаразд я маю на увазі, якщо хтось не дурний, вони можуть знайти Google і знайти цю відповідь і зробити це .. але ви знаєте, що я маю на увазі, який біль у дупі. Якби Windows не була найкращою ОС для продуктивності, я б не змирився з цим лаєм (і автоматичним оновленням примусового перезавантаження)
Mikey

2

Ось скрипт повноважень, який оновить значення:

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'

Досить просто скопіювати / вставити вище коду, на "підвищеному" папері, (натиснути правою кнопкою миші як адміністратор).

Якщо ви отримаєте деякі помилки, можливо, тому, що шлях не існує, виконайте ці команди

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'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.