aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Čížek <DavidCizek@seznam.cz>2026-06-24 09:02:34 +0200
committerBob Arnson <github@bobs.org>2026-08-18 10:16:53 -0400
commitef500b3941d888d67fc22a64c90f366eb6e7b0c7 (patch)
tree7334c5b32aef1381661af463212ef971805ae298 /src
parent18073f5b9d09c41b5d5f8d39e8393097aa74ce86 (diff)
downloadwix-ef500b3941d888d67fc22a64c90f366eb6e7b0c7.tar.gz
wix-ef500b3941d888d67fc22a64c90f366eb6e7b0c7.tar.bz2
wix-ef500b3941d888d67fc22a64c90f366eb6e7b0c7.zip
Fix for the missing configuration of the VS_VSIX_INSTALLER_PATH property for VS2017–VS2026.
Modified VsixPackage fragment. Updated tests.
Diffstat (limited to 'src')
-rw-r--r--src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs16
-rw-r--r--src/ext/VisualStudio/wixlib/VsixPackage.wxs36
2 files changed, 50 insertions, 2 deletions
diff --git a/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs b/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs
index ab55427a..bc47d2d3 100644
--- a/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs
+++ b/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs
@@ -27,6 +27,10 @@ namespace WixToolsetTest.VisualStudio
27 "CustomAction:SetVS2012Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2012_VSIX_INSTALLER_PATH]\t", 27 "CustomAction:SetVS2012Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2012_VSIX_INSTALLER_PATH]\t",
28 "CustomAction:SetVS2013Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2013_VSIX_INSTALLER_PATH]\t", 28 "CustomAction:SetVS2013Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2013_VSIX_INSTALLER_PATH]\t",
29 "CustomAction:SetVS2015Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2015_VSIX_INSTALLER_PATH]\t", 29 "CustomAction:SetVS2015Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2015_VSIX_INSTALLER_PATH]\t",
30 "CustomAction:SetVS2017Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2017_VSIX_INSTALLER_PATH]\t",
31 "CustomAction:SetVS2019Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2019_VSIX_INSTALLER_PATH]\t",
32 "CustomAction:SetVS2022Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2022_VSIX_INSTALLER_PATH]\t",
33 "CustomAction:SetVS2026Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2026_VSIX_INSTALLER_PATH]\t",
30 "CustomAction:vimLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3122\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\" /admin\t", 34 "CustomAction:vimLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3122\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\" /admin\t",
31 "CustomAction:viuMpl8IvFSDAzTulrmpAzBwAmCRTQ\t1074\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\"\t", 35 "CustomAction:viuMpl8IvFSDAzTulrmpAzBwAmCRTQ\t1074\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\"\t",
32 "CustomAction:vrmLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3442\tVS_VSIX_INSTALLER_PATH\t/q /u:\"ExampleVsix\" /admin\t", 36 "CustomAction:vrmLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3442\tVS_VSIX_INSTALLER_PATH\t/q /u:\"ExampleVsix\" /admin\t",
@@ -55,6 +59,10 @@ namespace WixToolsetTest.VisualStudio
55 "CustomAction:SetVS2012Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2012_VSIX_INSTALLER_PATH]\t", 59 "CustomAction:SetVS2012Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2012_VSIX_INSTALLER_PATH]\t",
56 "CustomAction:SetVS2013Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2013_VSIX_INSTALLER_PATH]\t", 60 "CustomAction:SetVS2013Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2013_VSIX_INSTALLER_PATH]\t",
57 "CustomAction:SetVS2015Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2015_VSIX_INSTALLER_PATH]\t", 61 "CustomAction:SetVS2015Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2015_VSIX_INSTALLER_PATH]\t",
62 "CustomAction:SetVS2017Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2017_VSIX_INSTALLER_PATH]\t",
63 "CustomAction:SetVS2019Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2019_VSIX_INSTALLER_PATH]\t",
64 "CustomAction:SetVS2022Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2022_VSIX_INSTALLER_PATH]\t",
65 "CustomAction:SetVS2026Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2026_VSIX_INSTALLER_PATH]\t",
58 "CustomAction:vimLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3122\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\" /admin\t", 66 "CustomAction:vimLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3122\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\" /admin\t",
59 "CustomAction:viuMpl8IvFSDAzTulrmpAzBwAmCRTQ\t1074\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\"\t", 67 "CustomAction:viuMpl8IvFSDAzTulrmpAzBwAmCRTQ\t1074\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\"\t",
60 "CustomAction:vrmLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3442\tVS_VSIX_INSTALLER_PATH\t/q /u:\"ExampleVsix\" /admin\t", 68 "CustomAction:vrmLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3442\tVS_VSIX_INSTALLER_PATH\t/q /u:\"ExampleVsix\" /admin\t",
@@ -77,10 +85,18 @@ namespace WixToolsetTest.VisualStudio
77 "VS2015_VSIX_INSTALLER_PATH", 85 "VS2015_VSIX_INSTALLER_PATH",
78 "VS2017_IDE_DIR", 86 "VS2017_IDE_DIR",
79 "VS2017_ROOT_FOLDER", 87 "VS2017_ROOT_FOLDER",
88 "VS2017_VSIX_INSTALLER_PATH",
80 "VS2017DEVENV", 89 "VS2017DEVENV",
90 "VS2019_IDE_DIR",
81 "VS2019_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED", 91 "VS2019_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED",
92 "VS2019_ROOT_FOLDER",
93 "VS2019_VSIX_INSTALLER_PATH",
94 "VS2022_IDE_DIR",
82 "VS2022_ROOT_FOLDER", 95 "VS2022_ROOT_FOLDER",
96 "VS2022_VSIX_INSTALLER_PATH",
97 "VS2026_IDE_DIR",
83 "VS2026_ROOT_FOLDER", 98 "VS2026_ROOT_FOLDER",
99 "VS2026_VSIX_INSTALLER_PATH",
84 "WIX_DOWNGRADE_DETECTED", 100 "WIX_DOWNGRADE_DETECTED",
85 "WIX_UPGRADE_DETECTED", 101 "WIX_UPGRADE_DETECTED",
86 }, propertyResults); 102 }, propertyResults);
diff --git a/src/ext/VisualStudio/wixlib/VsixPackage.wxs b/src/ext/VisualStudio/wixlib/VsixPackage.wxs
index 5937177b..605e4ac5 100644
--- a/src/ext/VisualStudio/wixlib/VsixPackage.wxs
+++ b/src/ext/VisualStudio/wixlib/VsixPackage.wxs
@@ -1,4 +1,4 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2 2
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
@@ -28,6 +28,30 @@
28 </RegistrySearch> 28 </RegistrySearch>
29 </Property> 29 </Property>
30 30
31 <Property Id="VS2017_VSIX_INSTALLER_PATH" Secure="yes">
32 <DirectorySearchRef Id="VS2017EnvironmentDirectorySearch" Parent="VS2017DirectorySearch" Path="Common7\IDE">
33 <FileSearch Id="WixVS2017VsixInstaller" Name="VSIXInstaller.exe" />
34 </DirectorySearchRef>
35 </Property>
36
37 <Property Id="VS2019_VSIX_INSTALLER_PATH" Secure="yes">
38 <DirectorySearchRef Id="VS2019EnvironmentDirectorySearch" Parent="VS2019DirectorySearch" Path="Common7\IDE">
39 <FileSearch Id="WixVS2019VsixInstaller" Name="VSIXInstaller.exe" />
40 </DirectorySearchRef>
41 </Property>
42
43 <Property Id="VS2022_VSIX_INSTALLER_PATH" Secure="yes">
44 <DirectorySearchRef Id="VS2022EnvironmentDirectorySearch" Parent="VS2022DirectorySearch" Path="Common7\IDE">
45 <FileSearch Id="WixVS2022VsixInstaller" Name="VSIXInstaller.exe" />
46 </DirectorySearchRef>
47 </Property>
48
49 <Property Id="VS2026_VSIX_INSTALLER_PATH" Secure="yes">
50 <DirectorySearchRef Id="VS2026EnvironmentDirectorySearch" Parent="VS2026DirectorySearch" Path="Common7\IDE">
51 <FileSearch Id="WixVS2026VsixInstaller" Name="VSIXInstaller.exe" />
52 </DirectorySearchRef>
53 </Property>
54
31 <Property Id="VS_VSIX_INSTALLER_PATH" Secure="yes" /> 55 <Property Id="VS_VSIX_INSTALLER_PATH" Secure="yes" />
32 56
33 <!-- VWD2012 registers differently than the rest of Visual Studio, so search for it in the case VS2012 is missing. --> 57 <!-- VWD2012 registers differently than the rest of Visual Studio, so search for it in the case VS2012 is missing. -->
@@ -46,7 +70,15 @@
46 </Property> 70 </Property>
47 71
48 <!-- Use the latest VS- or VWD-installed VSIXInstaller.exe. --> 72 <!-- Use the latest VS- or VWD-installed VSIXInstaller.exe. -->
49 <SetProperty Action="SetVS2015Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2015_VSIX_INSTALLER_PATH]" Sequence="both" After="AppSearch" Condition="NOT VS_VSIX_INSTALLER_PATH AND VS2015_VSIX_INSTALLER_PATH" /> 73 <SetProperty Action="SetVS2026Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2026_VSIX_INSTALLER_PATH]" Sequence="both" After="AppSearch" Condition="NOT VS_VSIX_INSTALLER_PATH AND VS2026_VSIX_INSTALLER_PATH" />
74
75 <SetProperty Action="SetVS2022Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2022_VSIX_INSTALLER_PATH]" Sequence="both" After="SetVS2026Vsix" Condition="NOT VS_VSIX_INSTALLER_PATH AND VS2022_VSIX_INSTALLER_PATH" />
76
77 <SetProperty Action="SetVS2019Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2019_VSIX_INSTALLER_PATH]" Sequence="both" After="SetVS2022Vsix" Condition="NOT VS_VSIX_INSTALLER_PATH AND VS2019_VSIX_INSTALLER_PATH" />
78
79 <SetProperty Action="SetVS2017Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2017_VSIX_INSTALLER_PATH]" Sequence="both" After="SetVS2019Vsix" Condition="NOT VS_VSIX_INSTALLER_PATH AND VS2017_VSIX_INSTALLER_PATH" />
80
81 <SetProperty Action="SetVS2015Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2015_VSIX_INSTALLER_PATH]" Sequence="both" After="SetVS2017Vsix" Condition="NOT VS_VSIX_INSTALLER_PATH AND VS2015_VSIX_INSTALLER_PATH" />
50 <SetProperty Action="Vwd2015VsixWhenVSAbsent" Id="VS_VSIX_INSTALLER_PATH" Value="[VWD2015_VSIX_INSTALL_ROOT]\Common7\IDE\VSIXInstaller.exe" Sequence="both" After="SetVS2015Vsix" Condition="NOT VS_VSIX_INSTALLER_PATH AND VWD2015_VSIX_INSTALL_ROOT" /> 82 <SetProperty Action="Vwd2015VsixWhenVSAbsent" Id="VS_VSIX_INSTALLER_PATH" Value="[VWD2015_VSIX_INSTALL_ROOT]\Common7\IDE\VSIXInstaller.exe" Sequence="both" After="SetVS2015Vsix" Condition="NOT VS_VSIX_INSTALLER_PATH AND VWD2015_VSIX_INSTALL_ROOT" />
51 83
52 <SetProperty Action="SetVS2013Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2013_VSIX_INSTALLER_PATH]" Sequence="both" After="Vwd2015VsixWhenVSAbsent" Condition="NOT VS_VSIX_INSTALLER_PATH AND VS2013_VSIX_INSTALLER_PATH" /> 84 <SetProperty Action="SetVS2013Vsix" Id="VS_VSIX_INSTALLER_PATH" Value="[VS2013_VSIX_INSTALLER_PATH]" Sequence="both" After="Vwd2015VsixWhenVSAbsent" Condition="NOT VS_VSIX_INSTALLER_PATH AND VS2013_VSIX_INSTALLER_PATH" />