Add VSIX property for VS2015 and fix older searches #247

Merged
merged 1 commit into from May 12, 2015

Projects

None yet

2 participants

@heaths
Contributor
heaths commented May 10, 2015

The older VWD searches were looking in the wrong place (wasn't VWD-specific) and the CA conditions were checking the wrong property. Also reorganized the CAs to execution in release / edition succession decending for ease.

@heaths heaths Add VSIX property for VS2015 and fix older searches
The older VWD searches were looking in the wrong place (wasn't VWD-specific) and the CA conditions were checking
the wrong property. Also reorganized the CAs to execution in release / edition succession decending for ease.
7667a8f
@barnson barnson commented on the diff May 12, 2015
src/ext/VSExtension/wixlib/VsixPackage.wxs
</Property>
- <!-- If we didn't find VSIX in the latest Visual Studio or VWD, use an older version. -->
- <SetProperty Action="SetVS2010Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2010_VSIX_INSTALLER_PATH]" Sequence="both" After="AppSearch">NOT VS_VSIX_INSTALLER_PATH AND NOT VS2012_VSIX_INSTALLER_PATH</SetProperty>
- <SetProperty Action="SetVS2012Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2012_VSIX_INSTALLER_PATH]" Sequence="both" After="AppSearch">NOT VS_VSIX_INSTALLER_PATH AND VS2012_VSIX_INSTALLER_PATH</SetProperty>
+ <!-- VWD2015 registers differently than the rest of Visual Studio, so search for it in the case VS2015 is missing. -->
+ <Property Id="VWD2015_VSIX_INSTALL_ROOT">
+ <RegistrySearch Id="Vwd2015Search" Root="HKLM" Key="SOFTWARE\Microsoft\VWDExpress\14.0\Setup\VS" Name="ProductDir" Type="raw" />
+ </Property>
+
+ <!-- Use the latest VS- or VWD-installed VSIXInstaller.exe. -->
+ <SetProperty Action="Vwd2015VsixWhenVSAbsent" Id="VS_VSIX_INSTALLER_PATH" Value="[VWD2015_VSIX_INSTALL_ROOT]\Common7\IDE\VSIXInstaller.exe" Sequence="both" After="AppSearch">NOT VS_VSIX_INSTALLER_PATH AND VWD2015_VSIX_INSTALL_ROOT</SetProperty>
+
+ <SetProperty Action="SetVS2013Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2013_VSIX_INSTALLER_PATH]" Sequence="both" After="Vwd2015VsixWhenVSAbsent">NOT VS_VSIX_INSTALLER_PATH AND VS2013_VSIX_INSTALLER_PATH</SetProperty>
+ <SetProperty Action="Vwd2013VsixWhenVSAbsent" Id="VS_VSIX_INSTALLER_PATH" Value="[VWD2013_VSIX_INSTALL_ROOT]\Common7\IDE\VSIXInstaller.exe" Sequence="both" After="SetVS2013Vsix">NOT VS_VSIX_INSTALLER_PATH AND VWD2013_VSIX_INSTALL_ROOT</SetProperty>
@barnson
barnson May 12, 2015 Member

This won't support simultaneous VWD and Pro+ installs (VWD wins). Do we care? (I see it's not a regression, just curious about whether we need to look at running multiple times.)

@heaths
heaths May 12, 2015 Contributor

Don't need to. VSIXInstaller.exe will install to whatever VS versions it find. I opted to work backward from newest to oldest, and for each release prefer Pro+ then VWD.

@barnson barnson merged commit 7667a8f into wixtoolset:develop May 12, 2015
@heaths heaths deleted the heaths:issue4757 branch May 12, 2015
@wixbot wixbot referenced this pull request in wixtoolset/issues Dec 20, 2015
Closed

VSIX properties missing for VS2015 #4757

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment