Практическое руководство. Настройка поведения запроса о доверии ClickOnce

Вы можете настроить запрос о доверии ClickOnce, чтобы контролировать, предоставлены ли конечным пользователям возможность установки приложений ClickOnce, таких как Windows Forms приложения, Windows Presentation Foundation приложения, консольные приложения, приложения браузера WPF и решения Office. Запрос о доверии настраивается путем установки разделов реестра на каждом компьютере конечного пользователя.

В следующей таблице показаны параметры конфигурации, которые можно применить к каждой из пяти зон (Internet, Унтрустедситес, MyComputer, LocalIntranet и Трустедситес).

Параметр Значение параметра реестра Описание
Включите запрос о доверии. Enabled Запрос о доверии ClickOnce отображается таким образом, чтобы конечные пользователи могли предоставлять доверие приложениям ClickOnce.
Ограничьте запрос о доверии. AuthenticodeRequired Запрос о доверии ClickOnce отображается только в том случае, если приложения ClickOnce подписаны сертификатом, идентифицирующим издателя.
Отключить запрос о доверии. Disabled Запрос о доверии ClickOnce не отображается для приложений ClickOnce, которые не подписаны явно доверенным сертификатом.

В следующей таблице показано поведение по умолчанию для каждой зоны. В столбце приложения содержатся ссылки на Windows Forms приложения, Windows Presentation Foundation приложения, приложения браузера WPF и консольные приложения.

Зона Приложения решения Office
MyComputer Enabled Enabled
LocalIntranet Enabled Enabled
TrustedSites Enabled Enabled
Internet Enabled AuthenticodeRequired
UntrustedSites Disabled Disabled

Эти параметры можно переопределить, включив, запретив или отключив запрос о доверии ClickOnce.

Включить запрос о доверии ClickOnce

Включите запрос о доверии для зоны, если нужно, чтобы конечные пользователи преддавали возможность установки и запуска любого приложения ClickOnce, поступающих из этой зоны.

Включение запроса о доверии ClickOnce с помощью редактора реестра

  1. Откройте редактор реестра:

    1. Нажмите кнопку Пуск, затем щелкните Выполнить.

    2. В поле Открыть введите regedit и нажмите кнопку ОК.

  2. Найдите следующий раздел реестра:

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

    Если раздел не существует, создайте его.

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

    Подключ строкового значения Значение
    Internet Enabled
    UntrustedSites Disabled
    MyComputer Enabled
    LocalIntranet Enabled
    TrustedSites Enabled

    Для решений Office Internet имеет значение по умолчанию AuthenticodeRequired и UntrustedSites имеет значение Disabled . Для всех остальных Internet параметров имеет значение по умолчанию Enabled .

Включение запроса о доверии ClickOnce программными средствами

  1. Создание Visual Basic или консольного приложения Visual C# в Visual Studio.

  2. Откройте файл Program. vb или Program.CS для редактирования и добавьте следующий код.

    Dim key As Microsoft.Win32.RegistryKey
    key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel")
    key.SetValue("MyComputer", "Enabled")
    key.SetValue("LocalIntranet", "Enabled")
    key.SetValue("Internet", "Enabled")
    key.SetValue("TrustedSites", "Enabled")
    key.SetValue("UntrustedSites", "Disabled")
    key.Close()
    
    Microsoft.Win32.RegistryKey key;
    key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\MICROSOFT\\.NETFramework\\Security\\TrustManager\\PromptingLevel");
    key.SetValue("MyComputer", "Enabled");
    key.SetValue("LocalIntranet", "Enabled");
    key.SetValue("Internet", "AuthenticodeRequired");
    key.SetValue("TrustedSites", "Enabled");
    key.SetValue("UntrustedSites", "Disabled");
    key.Close();
    
  3. Создайте и запустите приложение.

Ограничение запроса о доверии ClickOnce

Ограничьте запрос о доверии, чтобы решения были подписаны сертификатами Authenticode с известными удостоверениями, прежде чем пользователи получат запрос на принятие решения о доверии.

Ограничение запроса о доверии ClickOnce с помощью редактора реестра

  1. Откройте редактор реестра:

    1. Нажмите кнопку Пуск, затем щелкните Выполнить.

    2. В поле Открыть введите regedit и нажмите кнопку ОК.

  2. Найдите следующий раздел реестра:

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

    Если раздел не существует, создайте его.

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

    Подключ строкового значения Значение
    UntrustedSites Disabled
    Internet AuthenticodeRequired
    MyComputer AuthenticodeRequired
    LocalIntranet AuthenticodeRequired
    TrustedSites AuthenticodeRequired

Ограничение запроса о доверии ClickOnce программным способом

  1. Создание Visual Basic или консольного приложения Visual C# в Visual Studio.

  2. Откройте файл Program. vb или Program.CS для редактирования и добавьте следующий код.

    Dim key As Microsoft.Win32.RegistryKey
    key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel")
    key.SetValue("MyComputer", "AuthenticodeRequired")
    key.SetValue("LocalIntranet", "AuthenticodeRequired")
    key.SetValue("Internet", "AuthenticodeRequired")
    key.SetValue("TrustedSites", "AuthenticodeRequired")
    key.SetValue("UntrustedSites", "Disabled")
    key.Close()
    
    Microsoft.Win32.RegistryKey key;
    key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\MICROSOFT\\.NETFramework\\Security\\TrustManager\\PromptingLevel");
    key.SetValue("MyComputer", "AuthenticodeRequired");
    key.SetValue("LocalIntranet", "AuthenticodeRequired");
    key.SetValue("Internet", "AuthenticodeRequired");
    key.SetValue("TrustedSites", "AuthenticodeRequired");
    key.SetValue("UntrustedSites", "Disabled");
    key.Close();
    
  3. Создайте и запустите приложение.

Отключить запрос о доверии ClickOnce

Можно отключить запрос о доверии, чтобы конечные пользователи не могли устанавливать решения, которые еще не являются доверенными в политике безопасности.

Отключение запроса о доверии ClickOnce с помощью редактора реестра

  1. Откройте редактор реестра:

    1. Нажмите кнопку Пуск, затем щелкните Выполнить.

    2. В поле Открыть введите regedit и нажмите кнопку ОК.

  2. Найдите следующий раздел реестра:

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

    Если раздел не существует, создайте его.

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

    Подключ строкового значения Значение
    UntrustedSites Disabled
    Internet Disabled
    MyComputer Disabled
    LocalIntranet Disabled
    TrustedSites Disabled

Отключение запроса о доверии ClickOnce программным способом

  1. Создание Visual Basic или консольного приложения Visual C# в Visual Studio.

  2. Откройте файл Program. vb или Program.CS для редактирования и добавьте следующий код.

    Dim key As Microsoft.Win32.RegistryKey
    key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel")
    key.SetValue("MyComputer", "Disabled")
    key.SetValue("LocalIntranet", "Disabled")
    key.SetValue("Internet", "Disabled")
    key.SetValue("TrustedSites", "Disabled")
    key.SetValue("UntrustedSites", "Disabled")
    key.Close()
    
    Microsoft.Win32.RegistryKey key;
    key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\MICROSOFT\\.NETFramework\\Security\\TrustManager\\PromptingLevel");
    key.SetValue("MyComputer", "Disabled");
    key.SetValue("LocalIntranet", "Disabled");
    key.SetValue("Internet", "Disabled");
    key.SetValue("TrustedSites", "Disabled");
    key.SetValue("UntrustedSites", "Disabled");
    key.Close();
    
    
  3. Выполните сборку и запустите приложение.

См. также раздел