Preparing Extensions for Windows Installer Deployment
This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here
You cannot use a Windows Installer package (MSI) to deploy a VSIX package. However, you can extract the contents of a VSIX package for MSI deployment. This document shows how to prepare a project whose default output is a VSIX package for inclusion in a Setup project.
Preparing an Extension Project for Windows Installer Deployment
Perform these steps on new extension projects before adding to a Setup project.
To prepare an extension project for Windows Installer deployment
Create a VSPackage, MEF component, Editor Adornment, or other extensibility project type that includes a VSIX manifest.
Open the VSIX manifest in the code editor.
Set the InstalledByMsi element of the VSIX manifest to
true. For more information about the VSIX manifest, see VSIX Extension Schema 2.0 Reference.
This prevents the VSIX installer from attempting to install the component.
Right-click the project in Solution Explorer and click Properties.
Select the VSIX tab.
Check the box labeled Copy VSIX content to the following location and type the path to where the Setup project will pick up the files.
Extracting Files from an Existing VSIX Package
Perform these steps to add the content of an existing VSIX package to a Setup project when you do not have the source files.
To extract files from an existing VSIX package
Rename the .VSIX file containing the extension from filename.vsix to filename.zip.
Copy the contents of the .zip file into a directory.
Delete the [Content_types].xml file from the directory.
Edit the VSIX manifest, as shown in the previous procedure.
Add the remaining files to your Setup project.