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 (8)

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

  2. 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?

  3. Noname says:

    Dear Sir, can I install this extension file under VS 2008? Many thanks!

  4. joycsc says:

    You can have a look to my sample at codeplex: Multi-Project Templates with Wizard: Visual Studio 2010 Sample: vsix.codeplex.com/…/59376

  5. mikeb says:

    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.

  6. David says:

    any updates so it will work with 2013?