What are Visual Studio’s VSIX files?
Posted: (EET/GMT+2)
Many Visual Studio's extension files are implemented and deployed as VSIX files, but have you ever given though on what these files really are? Just like Azure's SQL Server "BACPAC" files I blogged recently about, VSIX files happen to be regular ZIP files, but with a different file extension.
Visual Studio recognizes the .vsix file extension, and the proceeds to unzip the file, and the install these extracted files into their correct location. By default, the location is under your user profile, for example at C:\Users\my.name\AppData\Local\Microsoft\VisualStudio\12.0\Extensions.
The actual VSIX file contains a couple of configuration files, which are implemented as XML files. In addition, there's the actual content, i.e. the payload. There's an old blog post on Microsoft's blog site about these files, which contains some more information.
Remember, that the VSIX file is based on the Open Packaging Conventions (OPC) file format, which is documented on MSDN. Visual Studio contains a ready-made project template for creating VSIX packages. This can be found under Office documentation on MSDN. This happens to be the same format as used by Office applications.
Happy hacking!