[wix-users] Multiple VsixPackage Support (deploy to multiple VS versions)

Ofir Cohen ofircohenn at gmail.com
Tue Mar 14 09:55:53 PDT 2017


+wix-devs

Hi,
I know it doesn't look like a wix-devs question,
but it might be that I cannot express what I want in WiX and I want to be sure
if that's really the case.

I have an untypical/usual usage of VsixPackage element, and
maybe someone on this list could provide a good hint.

Problem
=======
How do I conditionally deploy VS extension to multiple VS versions
(2012 through 2015)?

Thoughts
=======
The condition depends on a property, say something like VS2012_SELECTED
which gets set when the user select it in the UI wizard.

The code at the bottom of the thread suggests to add 3 separate Components.

The problem is that I have only *1 VSIX file*, and I will have to
repeat/duplicate the
same <File> element multiple times (VSExtension:VsixPackage requires a file).

Anyone has better ideas?

Thanks,
Ofir

On 13 March 2017 at 21:00, Ofir Cohen <ofircohenn at gmail.com> wrote:
> Hi,
> TL;DR: What is the best practice to deploy (install) a VSIX to one or
> more Visual Studio versions?
> Could you please provide a link to a sample code if such exists?
>
>
> User story
> ========
> During the product setup (WiX based installer), user can select one or
> more of the following:
> * VS2012
> * VS2013
> * VS2015
>
> And the expectation is that the selected versions will be installed.
>
> What is the WiX way to accomplish this?
> Should I have something like this?
>
> <Component Id="vs2012_ext"> <Condition>VS2012_SELECTED</Condition>
>   <VSExtension:VsixPackage File="PackageFileId" ... Target="11.0" />
> </Component>
>
> <Component Id="vs2013_ext"> <Condition>VS2013_SELECTED</Condition>
>   <VSExtension:VsixPackage File="PackageFileId" ... Target="12.0" />
> </Component>
>
> <Component Id="vs2015_ext"> <Condition>VS2015_SELECTED</Condition>
>   <VSExtension:VsixPackage File="PackageFileId" ... Target="14.0" />
> </Component>
>
> ...
> <Feature Id='VSIntegration'>
>   <ComponentRef Id='vs2012_ext'/>
>   <ComponentRef Id='vs2013_ext'/>
>   <ComponentRef Id='vs2015_ext'/>
> </Feature>
>
> Thanks,
> Ofir


More information about the wix-users mailing list