Visual Studio 扩展部署

Visual Studio 支持三种用于部署扩展的格式:Visual Studio 扩展 (VSIX)、Windows Installer (MSI) 和 Visual Studio 内容安装程序 (VSI)。 也可以通过使用平台注册向 Visual Studio 注册自定义控件。 本主题比较了不同的部署策略并列出各个部署策略的功能。

选择部署方法

根据要部署的扩展的类型以及部署方法的功能选择部署格式。

Dd393694.collapse_all(zh-cn,VS.110).gifVSIX

当您上传到 VSIX 包的格式中的扩展Visual Studio 库 网站,用户可以查找并安装它们通过检查中的在线扩展 扩展和更新对话框。 有关更多信息,请参见安装和管理 Visual Studio 工具和扩展

您可以使用 VSIX 格式打包项目和项模板、 Visual Studio 集成包,托管扩展框架 (MEF) 组件、 工具箱控件、 组件和自定义类型。 VSIX 格式使用严格基于文件的部署,并且不支持写入全局程序集缓存 (GAC) 或系统注册表。 VSIX 是它所支持的扩展类型的首选部署方法。

VSIX 部署要求您已安装 Visual Studio SDK。 有关更多信息,请参见 Visual Studio SDK 文档中的VSIX 部署

Dd393694.collapse_all(zh-cn,VS.110).gifMSI

在 Visual Studio 中创建安装项目时,将其添加到包含扩展的解决方案,并生成项目,您将得到 .msi 文件。 MSI 格式支持大多数应用程序和扩展类型,并且可执行诸如写入 GAC 和系统注册表等安装操作。 在扩展和更新对话框中,您可以显示和安装基于 MSI 的扩展,但不能启用或禁用它们。 有关 MSI 部署的更多信息,请参见 Windows Installer 部署

备注

运行devenv /setup在安装或卸载 MSI 扩展名之后。

Dd393694.collapse_all(zh-cn,VS.110).gifVSI

Visual Studio 的内容安装程序不支持上传到 Visual Studio 的库,卸载或写入到 gac 中或系统注册表。 但是,您可以使用它来部署外接程序和代码段,VSIX 格式不支持。 有关更多信息,请参见如何:打包组件以使用 Visual Studio 内容安装程序

Dd393694.collapse_all(zh-cn,VS.110).gif平台注册

以下列表显示了 AssemblyFoldersEx 注册支持的功能。

  • 批量安装目录中的所有控件而不必逐一注册控件。

  • 支持在工具箱中指定图标和将控件分组。

  • 在 Visual Studio 的**“添加引用”对话框中包括程序集以及(可选)在工具箱的“选择项”**对话框中包括控件。

  • 在基框架注册表项中的单一位置简化注册。 这将避免检查不同的 Visual Studio SKU 并查找每个根项的复杂性。

  • 支持带有以特定的 Visual Studio 版本或 Expression Blend 版本为目标的多个设计时程序集的单一控件程序集。

有关使用此功能的信息和示例,请参见部署自定义控件和设计时程序集

Dd393694.collapse_all(zh-cn,VS.110).gifMSI 中的平台注册

若要将程序集添加到**“添加引用”对话框并将控件添加到工具箱的“选择项”**对话框,必须向托管平台的 AssemblyFoldersEx 注册表项注册程序集。 若要使用您的图标和制表符位置在工具箱中安装控件,还必须指定 Toolbox 注册表项中的值。 有关更多信息,请参见部署自定义控件和设计时程序集

Dd393694.collapse_all(zh-cn,VS.110).gif支持的扩展类型

下表显示哪些打包格式支持哪些扩展类型。

扩展类型

VSIX

MSI

VSI

平台注册

项目模板

项模板

程序集

MEF 组件

VSPackage

工具箱控件

外接程序

代码段

自定义扩展类型

Dd393694.collapse_all(zh-cn,VS.110).gif支持的功能

下表显示哪些打包格式支持哪些安装选项。

功能

VSIX

MSI

VSI

平台注册

MSI 中的平台注册

启用和禁用安装的扩展

检查是否有更新

写入系统注册表

向 GAC 注册

在安装过程中配置

上载到 Visual Studio 库

双击安装

出现在工具箱的“选择项”对话框中

出现在“添加引用”对话框中

在 Visual Studio 之前(或之后)安装

以其他设计器(如 Expression Blend)为目标

发布

您可以通过将 Visual Studio 扩展上载到网站或网络共享来分发任何 Visual Studio 扩展。 如果将部署软件包的 VSIX 格式,或者是 MSI,您可以使其可用于扩展和更新 对话框,通过它来上载所有 Visual Studio 用户 Visual Studio 库 的网站,这样会使包中可见 扩展和更新对话框。 可以将其他类型的扩展作为引用链接添加到该库中。

请参见

任务

如何:打包组件以使用 Visual Studio 内容安装程序

概念

部署自定义控件和设计时程序集

其他资源

VSIX 部署

自定义、自动化和扩展开发环境

安装和管理 Visual Studio 工具和扩展