使用包含列表信任 Office 解决方案
通过使用包含列表,用户可以对用标识发行者的证书进行签名的 Office 解决方案授予信任。 包含列表是用户特定的列表,可用于文档级自定义项和应用程序级外接程序。
**适用于:**本主题中的信息适用于 Microsoft Office 2010 和 2007 Microsoft Office system 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
当用户启动一个未被该用户授予信任的 Office 解决方案时,Microsoft Office 解决方案将使用 ClickOnce 信任提示来提示该用户做出安全决定。如果该用户决定信任该解决方案,则将运行自定义项,并且下次不会再提示该用户。
包含列表和 Windows Installer
使用 Windows Installer 将 Office 解决方案安装到 Program Files 目录需要管理员权限。 对于 Program Files 目录中的 Office 解决方案,Visual Studio 2010 Tools for Office Runtime 不再检查包含列表,因为已向这些 Office 解决方案授予了 FullTrust 权限。
ClickOnce 信任提示
通过使用 Office 解决方案的 ClickOnce 实现,管理员可以将信任提示级别配置为允许提示、禁用提示或需要一个受信任证书。 此配置是通过使用一个控制对包含列表的访问权限的注册表项完成的。
如果禁用提示,则只能安装具有已知的受信任证书的解决方案。 如果将提示级别设置为“需要 Authenticode”,则必须使用已知颁发机构颁发的证书对解决方案进行签名,但它不需要链接到受信任的根证书颁发机构的证书(受信任的证书)。 如果允许提示,则可以使用具有未知标识的证书对解决方案进行签名。 在此方案中,将由最终用户做出信任决定,并且一个临时证书就足以安装解决方案。
有关更多信息,请参见如何:配置包含列表安全性 和 Configuring ClickOnce Trusted Publishers(配置 ClickOnce 受信任发行者)中标题为“Prompting Level Registry Key Value Launch Effects”(提示级别注册表项值启动效果)的表 2。
包含列表的结构
一个有效的包含列表项包括两部分:部署清单的路径和用于对解决方案进行签名的公钥。 将解决方案添加到包含列表中后,该解决方案被认为是受信任的。 运行 Office 解决方案时,Office 应用程序会将包含列表中的公钥与部署清单中的签名密钥进行比较,以验证当前正在运行的解决方案是否与受信任的原始版本相同。
以编程方式修改包含列表
如果要向包含列表中添加您的解决方案,但不想提示用户,则可以用编程方式添加该解决方案。 有关如何使用 .NET Framework 3.5 更改包含列表的更多信息,请参见如何:添加或移除包含列表项。
修改包含列表不需要具有管理员特权。