How do you install a Visual Studio 2017 Extension (VSIX) from an MSI

Sprotty picture Sprotty · Feb 16, 2017 · Viewed 7.2k times · Source

Visual Studio 2017 seems to have changed a lot of things in the extensibility area https://docs.microsoft.com/en-us/visualstudio/extensibility/breaking-changes-2017

The previous recommendations regarding installing a VSIX from an MSI now seem obsolete (Deploying VSIX using MSI installer), but there seems to no information about how to do it now.

The VS2017 FAQ implies the VSIX installer can (should?) be kicked off manually, is this the recommender approach now?

vsixinstaller.exe /q /appidinstallpath:"c:\program files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe" /appidname:"Visual Studio" /logFile: /skuName:Enterprise /skuVersion:15.0.25810.0 "KendoUI.Mvc.VSPackage.vsix"

It also requires that you know the path to vsixinstaller.exe. Where does this come from? (Update it seems the MS tool vsixbootstrapper will find vsixinstaller.exe and pass through your arguments to it, so no need to locate it directly).

Also you need to know all the versions of visual studio installed, which looks more complicated than it should be Programmatically finding the VS2017 installation directory.

Am I missing something or is this just really complicated now?

Answer

Bob Arnson picture Bob Arnson · Feb 16, 2017

It's just really complicated now. Installing an extension can trigger VS Setup to install required workloads, which fails when both are happening via MSI. There's been discussion about how to make it work for WiX and the conclusion is that it's not possible to make it work safely without a change to how VSIXInstaller.exe works: http://lists.wixtoolset.org/pipermail/wix-devs-wixtoolset.org/2017-February/thread.html.