更新:2007 年 11 月
| 适用对象 | 
|---|
| 本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 项目类型 
 Microsoft Office 版本 
 有关更多信息,请参见按应用程序和项目类型提供的功能。 | 
如果有管理员权限,可以通过将信任决定保存到包含列表中来配置 ClickOnce 信任提示,以控制是否允许最终用户选择安装 Visual Studio Tools for Office 解决方案。有关包含列表的信息,请参见通过使用包含列表信任 Office 解决方案 (2007 System)。
对于位于五个区域每个区域中的解决方案,您可以设置以下选项:
- 启用 ClickOnce 信任提示密钥和包含列表。可以允许最终用户向用任何证书签名的 Office 解决方案授予信任。 
- 限制 ClickOnce 信任提示密钥和包含列表。可以允许最终用户安装用标识发布者的证书(但不是已信任的证书)签名的 Office 解决方案。 
- 禁用 ClickOnce 信任提示密钥和包含列表。可以防止最终用户安装未用显式信任的证书签名的 Office 解决方案。 
启用包含列表
如果想要向最终用户呈现安装和运行来自某个区域的任何 Visual Studio Tools for Office 解决方案的选项,请为该区域启用包含列表。
使用注册表编辑器启用包含列表
- 打开注册表编辑器: - 单击“开始”,然后单击“运行”。 
- 在“打开”框中,键入 regedt32.exe,然后单击“确定”。 
 
- 查找以下注册表项: - \HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel - 如果该项不存在,请创建它。 
- 以“字符串值”的形式添加具有关联值的以下子项(如果这些子项尚不存在)。 - 字符串值子项 - Value - Internet - AuthenticodeRequired - UntrustedSites - Disabled - MyComputer - Enabled - LocalIntranet - Enabled - TrustedSites - Enabled - 默认情况下,Internet 的值为 AuthenticodeRequired,并且 UntrustedSites 的值为 Disabled。 
以编程方式启用包含列表
- 在 Visual Studio 中创建一个 Visual Basic 或 Visual C# 控制台应用程序。 
- 打开 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", "AuthenticodeRequired") 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();
- 生成并运行应用程序。 
限制包含列表
对包含列表进行限制,这样,在提示用户做出信任决定之前,必须用具有已知标识的 Authenticode 证书对解决方案进行签名。
限制包含列表
- 打开注册表编辑器: - 单击“开始”,然后单击“运行”。 
- 在“打开”框中,键入 regedt32.exe,然后单击“确定”。 
 
- 查找以下注册表项: - \HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel - 如果该项不存在,请创建它。 
- 以“字符串值”的形式添加具有关联值的以下子项(如果这些子项尚不存在)。 - 字符串值子项 - Value - UntrustedSites - 已禁用 - Internet - AuthenticodeRequired - MyComputer - AuthenticodeRequired - LocalIntranet - AuthenticodeRequired - TrustedSites - AuthenticodeRequired - 默认情况下,Internet 的值为 AuthenticodeRequired,并且 UntrustedSites 的值为 Disabled。 
以编程方式限制包含列表
- 在 Visual Studio 中创建一个 Visual Basic 或 Visual C# 控制台应用程序。 
- 打开 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();
- 生成并运行应用程序。 
禁用包含列表
您可以禁用包含列表,以使最终用户只能安装用受信任的已知证书签名的解决方案。
禁用包含列表
- 打开注册表编辑器: - 单击“开始”,然后单击“运行”。 
- 在“打开”框中,键入 regedt32.exe,然后单击“确定”。 
 
- 如果以下注册表项尚不存在,请创建该注册表项: - \HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel 
- 以“字符串值”的形式添加具有关联值的以下子项(如果这些子项尚不存在)。 - 字符串值子项 - 值 - UntrustedSites - 已禁用 - Internet - Disabled - MyComputer - Disabled - LocalIntranet - Disabled - TrustedSites - Disabled 
以编程方式禁用包含列表
- 在 Visual Studio 中创建一个 Visual Basic 或 Visual C# 控制台应用程序。 
- 打开 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();
- 生成并运行应用程序。