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 工具和扩展