What is a VSIX?

The VSIX file is the unit of deployment for a Visual Studio 2010 Extension. Visual Studio will recognize the VSIX extension and install the contents of the file to the right location.

A VSIX file is a zip file that uses the Open Packaging Convention. You can rename the .VSIX extension to .ZIP and use any zip browser (including the Windows File Explorer) to browse its contents.

A simple VSIX file will contain the following:

[Content_Types].xml

This is required for the OPC APIs to know the contents of the file

extension.vsixmanifest

This is the manifest that describes the extension

Product Payload

This is the actual product binaries and files

Supporting files

This can be icons, images, readme files, the end user license terms, or anything else

 

During installation, Visual Studio will unzip the contents of the VSIX file into: %LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\<Company>\<Product>\<Version>

On launch, Visual Studio will look in the Extensions folder and its child folders for extensions and load them. Extensions that are installed by Visual Studio either through the Extension Manager UI, or through the out of process installer launched by double clicking on a VSIX file, will automatically be enabled.

Extensions that are xcopied to that location as a raw folder layout will be disabled by default. They can be enabled via the Extension Manager UI inside of Visual Studio.

To create a basic VSIX file, perform the following:

1) Create a [Content_Types].xml file

2) Create an extension.vsixmanifest file

3) Copy your payload to that location

4) Select all the files

5) Right click

6) Select "Send To"

7) Select "Compressed (zipped) folder"

8) Rename the file extension to .VSIX

Alternatively, you can install the Visual Studio 2010 Beta 1 SDK and create an extension. All of our VS Extension project templates will now generate a VSIX for you when you build the extension.

For those wondering what VSIX actually stands for, it really isn't an acronym. Our original intent was to replace VSI (Visual Studio Installer) and with most things, we tacked an "x" on the end. I actually wanted to use the .VSX extension but Visio beat me to it. We tried a bunch of other extensions and eventually decided to use .VSIX. If we really need to cram in an acronym, I guess we can use "Visual Studio Installer for eXtensions".

Comments

  • Anonymous
    May 26, 2009
    PingBack from http://asp-net-hosting.simplynetdev.com/what-is-a-vsix/

  • Anonymous
    June 04, 2009
    Now, that we have a zipped up item template (from Part 1 ), how do we get this thing ready for the VS

  • Anonymous
    August 12, 2010
    Heh.... someone hook a brutha up... I just spent 3 hours uninstalling Premium 2010 and installing Ultimate 2010, only to discover that I STILL do not have VSIX or Visual Studio Extension project templates.  Where does one obtain these mythical "beta only" project templates?

  • Anonymous
    August 12, 2010
    OK... so now let me answer my own question: www.microsoft.com/.../details.aspx

  • Anonymous
    September 16, 2010
    Dear Sir, can I install this extension file under VS 2008? Many thanks!

  • Anonymous
    January 18, 2011
    You can have a look to my sample at codeplex: Multi-Project Templates with Wizard: Visual Studio 2010 Sample: vsix.codeplex.com/.../59376

  • Anonymous
    December 06, 2013
    I relay wish that the "Extensions and Updates" dialog would let me just browse to a .vsix file on the file system to install it.  I can't understand why that option isn't made available.

  • Anonymous
    October 30, 2014
    any updates so it will work with 2013?