应用程序级外接程序的注册表项

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 应用程序级项目

Microsoft Office 版本

  • 2007 Microsoft Office system

  • Microsoft Office 2003

有关更多信息,请参见按应用程序和项目类型提供的功能

部署使用 Visual Studio Tools for Office 创建的外接程序时,必须创建一组特定的注册表项。这些注册表项提供可使 Microsoft Office 应用程序发现和加载外接程序的信息。有关更多信息,请参见应用程序级外接程序的体系结构

生成项目时,Visual Studio Tools for Office 会在开发计算机上创建这些注册表项,以便您可以轻松地调试外接程序。有关更多信息,请参见 Office 解决方案生成过程概述

有关部署外接程序时如何在最终用户计算机上创建注册表项的信息,请参见部署 Office 解决方案 (2007 System)部署应用程序级外接程序 (2003 System)

在本主题中,文本外接程序 ID 表示外接程序的唯一 ID。默认情况下,该 ID 是外接程序项目的名称。

2007 Microsoft Office system 的注册表项

2007 Microsoft Office system 所需的外接程序注册表项位于所有应用程序(Microsoft Office Visio 除外)的以下注册表项之下:

HKEY_CURRENT_USER\Software\Microsoft\Office\应用程序名称\Addins\外接程序 ID

对于 Visio,注册表项位于下面的注册表项之下:

HKEY_CURRENT_USER\Software\Microsoft\Visio\Addins\外接程序 ID

Bb386106.alert_note(zh-cn,VS.90).gif说明:

2007 Microsoft Office system 中的应用程序仅识别在 HKEY_CURRENT_USER 下注册的 Visual Studio Tools for Office 外接程序。这意味着,您无法通过在 HKEY_LOCAL_MACHINE 下注册外接程序将 2007 Microsoft Office system 的 Visual Studio Tools for Office 外接程序部署到一台计算机上的所有用户。

下表列出了在此注册表项下需要的项。

类型

Description

REG_SZ

外接程序的简短说明。

当用户在 Microsoft Office 应用程序的“选项”对话框的“外接程序”窗格中选择外接程序时,将显示此说明。

FriendlyName

REG_SZ

在 Microsoft Office 应用程序中的“COM 外接程序”对话框中显示的外接程序的描述性名称。默认值为外接程序 ID。

LoadBehavior

REG_DWORD

指定应用程序何时尝试加载外接程序和外接程序当前状态(已加载或未加载)的值。

默认情况下,该项设置为 3,指定外接程序在启动时加载。有关更多信息,请参见 LoadBehavior 值。

Manifest

REG_SZ

外接程序的部署清单的完整路径。该路径可以是本地计算机、网络共享 (UNC) 或 Web 服务器 (HTTP) 上的某个位置。

Bb386106.alert_note(zh-cn,VS.90).gif说明:
在开发计算机上生成外接程序时,Visual Studio Tools for Office 会在此注册表项上追加字符串 |vstolocal(即竖线字符 | 后跟 vstolocal)。当您从开发计算机上的 Visual Studio 运行外接程序时,这有助于 Visual Studio Tools for Office 加载该外接程序。

Outlook 窗体区域的注册表项

在 Microsoft Office Outlook 2007 的外接程序中创建自定义窗体区域时,将使用一个注册表项在 Outlook 中注册该窗体区域。此注册表项位于以下项之下:

HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions\消息类

有关更多信息,请参见在 Windows 注册表中指定窗体区域。有关 Outlook 窗体事件的更多信息,请参见 创建 Outlook 窗体区域

Microsoft Office 2003 的注册表项

Microsoft Office 2003 所需的外接程序注册表项位于下面的注册表项之下:

  • HKEY_CURRENT_USER\Software\Microsoft\Office\应用程序名称\Addins\外接程序 ID

  • HKEY_CURRENT_USER\Software\Classes\外接程序 ID\CLSID

  • HKEY_CURRENT_USER\Software\Classes\CLSID\{外接程序 CLSID}

  • HKEY_CURRENT_USER\Software\Classes\CLSID\{外接程序 CLSID}\InprocServer32

  • HKEY_CURRENT_USER\Software\Classes\CLSID\{外接程序 CLSID}\ProgID

  • HKEY_CURRENT_USER\Software\Classes\CLSID\{外接程序 CLSID}\Programmable

  • HKEY_CURRENT_USER\Software\Classes\CLSID\{外接程序 CLSID}\VersionIndependentProgID

Bb386106.alert_note(zh-cn,VS.90).gif说明:

通过在 HKEY_LOCAL_MACHINE(而非 HKEY_CURRENT_USER)下创建注册表项,可使 Microsoft Office 2003 的 Visual Studio Tools for Office 外接程序对一台计算机上的所有用户可用。

下面的部分列出了每个注册表项下需要的项。文本外接程序 CLSID 表示外接程序的全局唯一类标识符 (CLSID)。若要获得外接程序的 CLSID,可以参考下列位置之一:

  • 生成外接程序时在开发计算机上创建的 HKEY_CURRENT_USER\Software\Classes\外接程序 ID\CLSID 注册表项的默认值。

  • .csproj(对于 C#)或 .vbproj(对于 Visual Basic)项目文件中的 ProjectGuid 元素。

Bb386106.alert_note(zh-cn,VS.90).gif说明:

如果要将 Microsoft Office 2003 外接程序部署到 Windows Vista,必须在其他子树中创建以下列表中的某些注册表项。有关更多信息,请参见 Microsoft Office 2003 外接程序在 Windows Vista 上的注册表项。

HKEY_CURRENT_USER\Software\Microsoft\Office\<应用程序名称>\Addins\<外接程序 ID>

Bb386106.alert_note(zh-cn,VS.90).gif说明:

对于 Visio 外接程序,请使用下面的项:HKEY_CURRENT_USER\Software\Microsoft\Visio\Addins\外接程序 ID

类型

Description

REG_SZ

外接程序的简短说明。

FriendlyName

REG_SZ

在 Microsoft Office 应用程序中的“COM 外接程序”对话框中显示的外接程序的描述性名称。默认值为外接程序 ID。

LoadBehavior

REG_DWORD

指定应用程序何时尝试加载外接程序和外接程序当前状态(已加载或未加载)的值。

默认情况下,该项设置为 3,指定外接程序在启动时加载。有关更多信息,请参见 LoadBehavior 值。

Manifest

REG_SZ

外接程序的应用程序清单的完整路径。这必须是客户端计算机上的本地文件夹。

HKEY_CURRENT_USER\Software\Classes\外接程序 ID

类型

(Default)

REG_SZ

外接程序的说明。

HKEY_CURRENT_USER\Software\Classes\外接程序 ID\CLSID

类型

(Default)

REG_SZ

外接程序的全局唯一类标识符 (CLSID)。

HKEY_CURRENT_USER\Software\Classes\CLSID\{<外接程序 CLSID>}

类型

(Default)

REG_SZ

外接程序的说明。

HKEY_CURRENT_USER\Software\Classes\CLSID\{<外接程序 CLSID>}\InprocServer32

类型

(Default)

REG_SZ

- 或 -

REG_EXPAND_SZ

Visual Studio Tools for Office 加载程序在运行外接程序的计算机上的完整路径。此项应始终设置为 %CommonProgramFiles%\Microsoft Shared\VSTO\8.0\AddinLoader.dll。

有关 Visual Studio Tools for Office 加载程序的更多信息,请参见 Visual Studio Tools for Office 运行库概述

Bb386106.alert_note(zh-cn,VS.90).gif说明:
如果您在路径中使用了环境变量,请为此项使用 REG_EXPAND_SZ 类型。否则,请使用 REG_SZ 类型。

ManifestLocation

REG_SZ

外接程序的应用程序清单的路径。这必须是客户端计算机上的本地文件夹。

ManifestName

REG_SZ

外接程序的应用程序清单名称。

ThreadingModel

REG_SZ

线程处理模型。该项必须设置为 Both。

HKEY_CURRENT_USER\Software\Classes\CLSID\{<外接程序 CLSID>}\ProgID

类型

(Default)

REG_SZ

外接程序的唯一 ID。

HKEY_CURRENT_USER\Software\Classes\CLSID\{<外接程序 CLSID>}\Programmable

类型

(Default)

REG_SZ

不要为该项设置值。

HKEY_CURRENT_USER\Software\Classes\CLSID\{<外接程序 CLSID>}\VersionIndependentProgID

类型

(Default)

REG_SZ

外接程序的与版本无关的唯一 ID。

Microsoft Office 2003 外接程序在 Windows Vista 上的注册表项

如果要将 Microsoft Office 2003 外接程序部署到运行 Windows Vista 的计算机,在以下情况下,必须在其他注册表子树中创建几个注册表项:

  • 用户正在使用管理员完全访问权限令牌运行 Microsoft Office 2003 应用程序。

    - 或 -

  • 用户已关闭用户帐户控制 (UAC)。

在这些情况下,您必须改为在 HKEY_LOCAL_MACHINE\Software\Classes 下创建 COM 注册项(即在 HKEY_CURRENT_USER\Software\Classes 下定义的所有项)。

您必须使用 Machine 子树,因为在这些情况下,Windows Vista 只在 HKEY_LOCAL_MACHINE 下查找 COM 注册项。有关如何更改默认安装项目中的注册表项的信息,请参见应用程序级外接程序的安装项目 (2003 System)

Bb386106.alert_note(zh-cn,VS.90).gif说明:

在这些情况下,请勿移动位于 HKEY_CURRENT_USER\Software\Microsoft 下的注册表项。

LoadBehavior 值

HKEY_CURRENT_USER\Software\Microsoft\Office\应用程序名称\Addins\外接程序 ID 项下的 LoadBehavior 项包含一个值,该值指定应用程序尝试加载外接程序的时间以及外接程序的当前状态(加载或未加载)。默认情况下,在您生成或部署外接程序时该项设置为 3。

下表列出了 LoadBehavior 项的可能值。

值(十进制)

值的含义

说明

0

未加载

应用程序不尝试在启动时加载外接程序。用户可以尝试使用应用程序中的“COM 外接程序”对话框手动加载外接程序。

1

已加载

应用程序不尝试在启动时加载外接程序。用户可以尝试使用应用程序中的“COM 外接程序”对话框手动加载外接程序。

2

启动时加载 | 未加载

应用程序尝试在启动时加载外接程序。

如果应用程序成功加载了外接程序,LoadBehavior 值将更改为 3。

3

启动时加载 | 已加载

应用程序尝试在启动时加载外接程序。

如果应用程序成功加载了外接程序,则 LoadBehavior 值保留为 3。如果加载外接程序时出错,LoadBehavior 值更改为 2。

8

按需加载 | 未加载

应用程序只在需要时尝试加载外接程序,比如当用户单击某个用到外接程序中的功能的用户界面 (UI) 元素时。

如果应用程序成功加载了外接程序,LoadBehavior 值将更改为 9。

9

按需加载 | 已加载

应用程序只在需要时尝试加载外接程序,比如当用户单击某个用到外接程序中的功能的 UI 元素时。

如果应用程序成功加载了外接程序,则 LoadBehavior 值保留为 9。如果加载外接程序时出错,LoadBehavior 值将更改为 8。

16

首次启动时加载

当用户首次运行应用程序时加载外接程序。应用程序下一次启动时,将加载外接程序定义的所有 UI 元素,但是外接程序只在用户单击与其关联的 UI 元素时才加载。

如果应用程序下一次启动时成功加载了外接程序,LoadBehavior 值将更改为 9。

请参见

概念

应用程序级外接程序的体系结构

Office 解决方案生成过程概述

部署 Office 解决方案 (2007 System)

部署应用程序级外接程序 (2003 System)

其他资源

Visual Studio Tools for Office 解决方案的结构