转载链接:https://technet.microsoft.com/zh-cn/magazine/ee308453

可以配置 ClickOnce 信任提示以控制是否允许最终用户选择安装 ClickOnce 应用程序,如 Windows Forms 应用程序、Windows Presentation Foundation 应用程序、控制台应用程序、WPF 浏览器应用程序和 Office 解决方案。    可以通过在每个最终用户的计算机上设置注册表项来配置信任提示。

下表显示了可应用于五个区域(即 Internet、UntrustedSites、MyComputer、LocalIntranet 和 TrustedSites)中的每个区域的配置选项。

选项

注册表设置值

说明

启用信任提示。

Enabled

显示 ClickOnce 信任提示以便最终用户能够向 ClickOnce 应用程序授予信任。

限制信任提示。

AuthenticodeRequired

ClickOnce 信任提示仅在已用标识发行者的证书对 ClickOnce 应用程序进行签名的情况下显示。

禁用信任提示。

禁用

对于未用显式信任证书进行签名的任何 ClickOnce 应用程序,不显示 ClickOnce 信任提示。

下表显示了每个区域的默认行为。    “应用程序”列指的是 Windows Forms 应用程序、Windows Presentation Foundation 应用程序、WPF 浏览器应用程序和控制台应用程序。

区域

应用程序

Office 解决方案

MyComputer

Enabled

Enabled

LocalIntranet

Enabled

Enabled

TrustedSites

Enabled

Enabled

Internet

Enabled

AuthenticodeRequired

UntrustedSites

禁用

禁用

通过启用、限制或禁用 ClickOnce 信任提示,可以重写这些设置。

启用 ClickOnce 信任提示

如果想要向最终用户呈现选项,使他们可以选择安装和运行来自某个区域的任何 ClickOnce 应用程序,请为该区域启用信任提示。

使用注册表编辑器启用 ClickOnce 信任提示

  1. 打开注册表编辑器:

    1. 单击“开始”,然后单击“运行”

    2. “打开”框中,键入 regedit32,然后单击“确定”

  2. 查找以下注册表项:

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

    如果该项不存在,请创建它。

  3. 按下表所示,以“字符串值”的形式添加以下子项(如果这些子项尚不存在)及关联的值。

    字符串值子项

    Internet

    Enabled

    UntrustedSites

    禁用

    MyComputer

    Enabled

    LocalIntranet

    Enabled

    TrustedSites

    Enabled

    对于 Office 解决方案,Internet 的默认值为 AuthenticodeRequired,而 UntrustedSites 的默认值为 Disabled。    对于所有其他应用程序,Internet 的默认值为Enabled

以编程方式启用 ClickOnce 信任提示

  1. 在 Visual Studio 中创建一个 Visual Basic 或 Visual C# 控制台应用程序。

  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

    禁用

    Internet

    AuthenticodeRequired

    MyComputer

    AuthenticodeRequired

    LocalIntranet

    AuthenticodeRequired

    TrustedSites

    AuthenticodeRequired

以编程方式限制 ClickOnce 信任提示

  1. 在 Visual Studio 中创建一个 Visual Basic 或 Visual C# 控制台应用程序。

  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

    禁用

    Internet

    禁用

    MyComputer

    禁用

    LocalIntranet

    禁用

    TrustedSites

    禁用

 

以编程方式禁用 ClickOnce 信任提示

  1. 在 Visual Studio 中创建一个 Visual Basic 或 Visual C# 控制台应用程序。

  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. 生成并运行应用程序。

如何:配置 ClickOnce 信任提示行为的更多相关文章

  1. ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data...

    ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data... 2012-07-18 ...

  2. TFS 2013 配置的时候,提示TF255466错误

    TFS 2010 配置的时候,提示TF255466错误  花舞花落泪 2013-11-08 10:19:37 在验证是否可以安装 SharePoint 时的提示,Error [ System Chec ...

  3. TFS 2010 配置的时候,提示TF255466错误

    TFS 2010 配置的时候,提示TF255466错误 Error [ System Checks ] TF255466: The configuration process for Team Fou ...

  4. vb6-很简单的配置密码验证提示

    '很简单的配置密码验证提示 Dim add As String add = Trim(InputBox("请输入配置密码", "报表配置")) If add = ...

  5. ADFS 2.0 配置简介 PartⅡ – 配置 ADFS 信任关系

    ADFS 与应用程序间的各种验证是基于信任关系的,在 ADFS 服务器配置好要信赖的应用程序(以 URL 为标识)后,应用程序再通过指定认证服务器来将用户引导至 ADFS 登录页,登录完成后再将用户的 ...

  6. JDBC Connection Configuration配置正确,提示Error preloading the connection pool

    JDBC Connection Configuration配置正确,提示Error preloading the connection pool JDBC 请求报错,提示: 因为之前执行是正确的,这次 ...

  7. Spring配置XML本地提示

    Spring配置XML本地提示:点击eclipse属性-->选择XML Catalog 这里有一点要注意:要选择schema location

  8. SublimeText配置NodeJS代码提示

    IDE选择 最近开始研究node.js.在网上资料显示使用WebStorm开发好像是最理想的选择,但由于其需要收费.笔者选择使用Sublime Text开发.至于破解方法网络有一大堆资料,笔者此处就略 ...

  9. struts2 配置 struts.xml 提示

    1.这个提示通常是在 连网络的时候才可以看到 2.当没有网路的时候我们该如何配置呢? window -->preferences -->xml catelog -->user.... ...

随机推荐

  1. npm离线安装插件

    公司内部网络与外部网络隔离,导致npm无法通过npm install安装,只能通过离线安装. 要求: 两台机器(内网一台,外网一台) 两台机器上都已安装好的node和npm 以内网机器安装ftpsyn ...

  2. redis的安装与简单使用

    redis的安装与简单使用: Redis简介: redis的应用场景: 1.关于关系型数据库和nosql数据库 关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据     ...

  3. 解析ArcGis的标注(二)——认识ArcGis标注标签

    该“标注”系列博文的标注引擎使用“标准标注引擎(standard label engine)”,这个概念如不知道,可不理会,ArcGis默认标注引擎就是它. 本篇的标注语句解析使用VBScript,注 ...

  4. php中inset 和 和 empty 的区别

    inset函数 用途:检测变量是否设置判断:检测变量是否设置,并且不是 NULL.如果已经使用 unset() 释放了一个变量之后,它将不再是 isset().若使用 isset() 测试一个被设置成 ...

  5. js 日期 相关

    Js计算指定日期加上多少天.加多少月.加多少年的日期 function DateAdd(interval, number, date) { switch (interval) { case " ...

  6. hadoop3.x的安装

    请看https://www.cnblogs.com/garfieldcgf/p/8119506.html

  7. QIM量化

    基于量化思想的水印嵌入模型的主要目的是为了实现盲检测.其主要思想是根据水印信息的不同将原始载体数据量化到不同的量化区间,而检测时根据所属的量化区间来识别水印信息.常见的两种量化方式是QIM和SCS方法 ...

  8. Debian Security Advisory(Debian安全报告) DSA-4415-1 passenger security update

    Debian Security Advisory(Debian安全报告) DSA-4415-1  passenger security update Package : passenger CVE I ...

  9. 可见参数和增强for以及自动拆装箱

    可变参数:定义方法的时候不知道该定义多少个参数格式: 修饰符 返回值类型 方法名(数据类型… 变量名){ } 注意: 这里的变量其实是一个数组如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定 ...

  10. git部分提交

    ---git add 需要提交的文件----git stash -u -k -k 开关告诉仓库保持文件的完整. -u 开关告诉仓库包括无路径的文件(那些新的和未添加到git的)----git stas ...