外接程序安全性

为了防止恶意外接程序自动激活进而增强安全性,Visual Studio 在名为**“外接安全性”“工具选项”**页中提供了一些设置。

另外,该选项页使您可以指定供 Visual Studio 在其中搜索 .Addin 注册文件的文件夹。 这种方式可让您对可读取 .Addin 注册文件的位置进行限制,并可帮助防止意外使用恶意 .Addin 文件,增强了安全性。

外接程序安全性设置

与外接程序安全性相关的“外接程序安全性”、“环境”和“选项对话框”中的设置为:

  • **允许外接程序组件加载。**默认情况下会选中。 在选中时,允许在 Visual Studio 中加载外接程序。 在未选中时,禁止在 Visual Studio 中加载外接程序。

  • **允许外接程序组件从 URL 加载。**默认情况下不会选中。 在选中时,允许从外部网站加载外接程序。 在未选中时,禁止在 Visual Studio 中加载远程外接程序。 如果某个外接程序由于某种原因无法加载,则无法从网站加载它。 此设置只控制外接程序 DLL 的加载。 .Addin 注册文件必须始终位于本地系统上。

默认的 .Add-In 文件搜索位置

除安全设置外,选项页还有一个列表,它包含要在其中搜索 .Addin 注册文件的文件夹。 默认情况下,包含以下标记:

  • %ALLUSERSDOCUMENTS%

  • %ALLUSERSPROFILE%

  • %APPDATA%

  • %VSAPPDATA%

  • %VSCOMMONAPPDATA%

  • %VSMYDOCUMENTS%

Visual Studio 开始搜索 .AddIn 文件时,会将这些标记替换为以下路径字符串:

标记

路径

%ALLUSERSDOCUMENTS%

%PUBLIC%\Documents

%ALLUSERSPROFILE%

%ALLUSERSPROFILE%(由操作系统定义)

%APPDATA%

%USERPROFILE%\AppData

%VSAPPDATA%

%USERPROFILE%\AppData\Roaming\Microsoft\Visual Studio\<Version>

-- 或 --

%USERPROFILE%\AppData\Local\Microsoft\Visual Studio\<版本>

%VSCOMMONAPPDATA%

%ProgramData%\Microsoft\Visual Studio\<版本>

%VSMYDOCUMENTS%

<我的文档>\Visual Studio 2012

备注

一些默认路径可能会解析为系统中不存在的目标。

通过突出显示该标记并单击**“移除”,可以从列表中移除这些预定义标记。 若要向搜索列表添加其他文件夹,请单击“添加”并在“浏览文件夹”**对话框中指定文件夹。 有关更多信息,请参见外接程序注册

限制选项页修改

若要防止用户修改**“外接程序的安全性”选项页中的设置,管理员可以在系统注册表中设置一个值。 该值名为 AllowUserToModifySecuritySettings,并存储在 HKLM\Software\Microsoft\VisualStudio\11.0\AutomationProperties 项下。 如果该项值存在并设置为 0,则会禁用“外接程序的安全性”**页中的所有选项。 (也就是说,不能更改该页上的设置。)

**“外接安全性”**页的设置存储在注册表中的 HKLM\Software\Microsoft\VisualStudio\11.0\AutomationPropertiesHKCU\Software\Microsoft\VisualStudio\11.0\AutomationProperties 项下。 安全按钮首先通过查找 HKEY_LOCAL_MACHINE 下的项来接收其值。 如果该项不存在,则使用 HKEY_CURRENT_USER 值。 例如,这样就使管理员可以启用加载外接程序,但允许用户选择禁用加载这些组件。 不过,如果管理员已经禁用加载外接程序,没有管理员权限的用户则无法启用加载外接程序和宏。 如果已选中加载外接程序的设置,则从 HKLM\SOFTWARE\Microsoft\VisualStudio\11.0\AutomationOptions\LookInFoldersHKCU\SOFTWARE\Microsoft\VisualStudio\11.0\AutomationOptions\LookInFolders 项下指定的文件夹中搜索可能的 .Addin 文件。

更改此页上的选项的管理员可以将值写入 HKEY_LOCAL_MACHINE 注册表配置单元下的任何项,该注册表配置单元用于修改计算机上所有用户的这些设置。

请参见

概念

自动化安全的最佳做法

外接程序注册