How to: Package Components to Use the Visual Studio Content Installer
The Visual Studio Content Installer provides a way to deploy macros, add-ins and code snippets to extend Visual Studio. For more information about other deployment strategies, see Visual Studio Extension Deployment.
To make an extension installable by using the Visual Studio Content Installer, package the extension in a .vsi file, which is typically referred to as a community component. The Visual Studio Content Installer automatically copies the items in community components to the correct directories on a developer's computer so that the items appear in the correct dialog boxes in Visual Studio.
To use the Visual Studio Content Installer to install your community components, you must create a .vscontent file for the component. After you create the .vscontent file, you compress the component files and the .vscontent file into a .zip file and change the file name extension from .zip to .vsi. You then can distribute the .vsi file to other developers by using whatever method that you decide, such as making the file available for download from the Web, sending the file as an e-mail attachment, or posting the file on a network share.
.Vscontent Files
.Vscontent files use XML that is based on the Visual Studio Content Installer Schema Reference to describe components that you have created and intend to share. At the minimum, the .vscontent file identifies the kind of components and the version of Visual Studio that the componens should be used with. After you have authored a .vscontent file, you can create the .vsi file that Visual Studio Content Installer will use to install the components on a developer's computer.
To create a basic .vscontent file
On the File menu, point to New and then click File.
In the General category, select XML File and then click Open.
Create a valid .vscontent file by using the Visual Studio Content Installer Schema Reference.
Note
Sample XML for .vscontent files can be found in the Example sections of this topic.
Save the .vscontent file in the same directory as the other files that are related to the community component.
.VSI Files
Visual Studio Content Installer (.vsi) files are used to exchange Visual Studio content in the developer community. A .vsi file is a renamed .zip file that contains these components:
An XML .vscontent file that describes the community component.
The files for the component.
The Visual Studio Content Installer uses .vsi files to install shared content to the correct location. For more information about how to install .vsi files, see How to: Find and Install Community Components.
Some features of the Visual Studio Content Installer require additional tools or services to implement.
To display publisher information for your community component in the Visual Studio Content Installer, you must sign the .vsi file. For more information, see Cryptographic Services.
To display an End User License Agreement (EULA) in the Visual Studio Content Installer, you must embed this information in the .zip file. WinZip supports including embedded information through the Comment feature. For more information about WinZip, see http://www.winzip.com. For more information about the Comment feature, see the WinZip Help file.
To create a basic .vsi file
If you have not done so already, create a valid .vscontent file for the component. For more information, see the section .VSCONTENT Files found earlier in this topic.
In Windows Explorer, select the files that are required for the component, including the .vscontent file.
Right-click the selected files, point to Send To, and click Compressed (zipped) Folder.
The selected files are compressed into a single .zip file.
Rename the extension of the .zip file to .vsi.
Example
The following example shows a .vscontent file for a .vsi file that contains an add-in. The <ContentVersion> element is set to 2.0, which means the add-in is compatible only with Visual Studio versions 9.0 and 10.0.
The following files would be included in the .vsi file for this content:
A .vscontent file that contains the XML shown in this example.
The add-in registration file MyAddin.Addin.
The compiled add-in .dll file MyAddin.dll.
The add-in files are installed in the following directory:
n:\...\My Documents\Visual Studio <version>\Addins\
For additional examples, see How to: Publish Project Templates and How to: Publish Code Snippets.
<VSContent xmlns="https://schemas.microsoft.com/developer/vscontent/2005">
<Content>
<FileName>MyAddin.Addin</FileName>
<FileName>MyAddin.dll</FileName>
<DisplayName>Example Add-in</DisplayName>
<Description>An add-in created for this example.</Description>
<FileContentType>Addin</FileContentType>
<ContentVersion>2.0</ContentVersion>
</Content>
</VSContent>
The following example shows a .vscontent file for a .vsi file that contains a macro project that can be used with Visual Studio versions 8.0, 9.0, and 10.0. The following files would be included in the .vsi file for this content:
A .vscontent file that contains the XML shown in this example.
The macro file MyMacroProject.vsmacros.
The macro file is installed in the following directory:
n:\...\My Documents\Visual Studio <version>\Projects\VSMacros80\
<VSContent xmlns="https://schemas.microsoft.com/developer/vscontent/2005">
<Content>
<FileName>MyMacroProject.vsmacros</FileName>
<DisplayName>My Macro Project</DisplayName>
<Description> A macro project created for this example.</Description>
<FileContentType>Macro Project</FileContentType>
<ContentVersion>1.0</ContentVersion>
</Content>
</VSContent>