aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2023-01-11 20:14:29 -0500
committerBob Arnson <github@bobs.org>2023-01-11 21:29:41 -0500
commit10794363b90e49885ace5729bb45af4da5d0f220 (patch)
treef13aac3990088cdff76885f04bca433fa3c803d0
parentbc4a72752cb199c7a3ba5a24f656b5e1c0aa9958 (diff)
downloadwix-10794363b90e49885ace5729bb45af4da5d0f220.tar.gz
wix-10794363b90e49885ace5729bb45af4da5d0f220.tar.bz2
wix-10794363b90e49885ace5729bb45af4da5d0f220.zip
VSExtension cleanup:
- Add ARM64-specific custom action. - Remove "naked" `CustomActionRef`s. - Clean up `wix convert` behavior: - Remove `PropertyRef`s for properties CA always sets. Fixes https://github.com/wixtoolset/issues/issues/7100. Fixes https://github.com/wixtoolset/issues/issues/7153.
-rw-r--r--src/ext/VisualStudio/ca/vsca.vcxproj8
-rw-r--r--src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/TestData/UsingVsixPackage/Package.wxs3
-rw-r--r--src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs37
-rw-r--r--src/ext/VisualStudio/wixext/VSCompiler.cs2
-rw-r--r--src/ext/VisualStudio/wixlib/VS2017.wxs9
-rw-r--r--src/ext/VisualStudio/wixlib/VS2019.wxs9
-rw-r--r--src/ext/VisualStudio/wixlib/VS2022.wxs9
-rw-r--r--src/ext/VisualStudio/wixlib/VSExtension_arm64.wxs8
-rw-r--r--src/ext/VisualStudio/wixlib/vs.wixproj1
-rw-r--r--src/wix/WixToolset.Converters/WixConverter.cs48
-rw-r--r--src/wix/test/WixToolsetTest.Converters/VSExtensionFixture.cs2
11 files changed, 88 insertions, 48 deletions
diff --git a/src/ext/VisualStudio/ca/vsca.vcxproj b/src/ext/VisualStudio/ca/vsca.vcxproj
index 466275d8..a2854f15 100644
--- a/src/ext/VisualStudio/ca/vsca.vcxproj
+++ b/src/ext/VisualStudio/ca/vsca.vcxproj
@@ -19,6 +19,14 @@
19 <Configuration>Release</Configuration> 19 <Configuration>Release</Configuration>
20 <Platform>x64</Platform> 20 <Platform>x64</Platform>
21 </ProjectConfiguration> 21 </ProjectConfiguration>
22 <ProjectConfiguration Include="Debug|ARM64">
23 <Configuration>Debug</Configuration>
24 <Platform>ARM64</Platform>
25 </ProjectConfiguration>
26 <ProjectConfiguration Include="Release|ARM64">
27 <Configuration>Release</Configuration>
28 <Platform>ARM64</Platform>
29 </ProjectConfiguration>
22 </ItemGroup> 30 </ItemGroup>
23 31
24 <PropertyGroup Label="Globals"> 32 <PropertyGroup Label="Globals">
diff --git a/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/TestData/UsingVsixPackage/Package.wxs b/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/TestData/UsingVsixPackage/Package.wxs
index 0434f81f..d56674e3 100644
--- a/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/TestData/UsingVsixPackage/Package.wxs
+++ b/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/TestData/UsingVsixPackage/Package.wxs
@@ -1,9 +1,10 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:vs="http://wixtoolset.org/schemas/v4/wxs/vs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:vs="http://wixtoolset.org/schemas/v4/wxs/vs">
2 <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 2 <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
3 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 3 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
4 4
5 <vs:FindVisualStudio /> 5 <vs:FindVisualStudio />
6 <PropertyRef Id="VS2017DEVENV" /> 6 <PropertyRef Id="VS2017DEVENV" />
7 <PropertyRef Id="VS2019_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" />
7 <PropertyRef Id="VS2022_ROOT_FOLDER" /> 8 <PropertyRef Id="VS2022_ROOT_FOLDER" />
8 9
9 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> 10 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
diff --git a/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs b/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs
index fdfd2e0e..d173bafd 100644
--- a/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs
+++ b/src/ext/VisualStudio/test/WixToolsetTest.VisualStudio/VisualStudioExtensionFixture.cs
@@ -6,6 +6,7 @@ namespace WixToolsetTest.VisualStudio
6 using WixInternal.Core.TestPackage; 6 using WixInternal.Core.TestPackage;
7 using WixToolset.VisualStudio; 7 using WixToolset.VisualStudio;
8 using Xunit; 8 using Xunit;
9 using System.Linq;
9 10
10 public class VisualStudioExtensionFixture 11 public class VisualStudioExtensionFixture
11 { 12 {
@@ -35,10 +36,46 @@ namespace WixToolsetTest.VisualStudio
35 }, results); 36 }, results);
36 } 37 }
37 38
39 [Fact]
40 public void CanBuildUsingVsixPackageOnArm64()
41 {
42 var folder = TestData.Get(@"TestData\UsingVsixPackage");
43 var build = new Builder(folder, typeof(VSExtensionFactory), new[] { folder });
44
45 var results = build.BuildAndQuery(BuildARM64, "CustomAction");
46 WixAssert.CompareLineByLine(new[]
47 {
48 "CustomAction:SetVS2010Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2010_VSIX_INSTALLER_PATH]\t",
49 "CustomAction:SetVS2012Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2012_VSIX_INSTALLER_PATH]\t",
50 "CustomAction:SetVS2013Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2013_VSIX_INSTALLER_PATH]\t",
51 "CustomAction:SetVS2015Vsix\t51\tVS_VSIX_INSTALLER_PATH\t[VS2015_VSIX_INSTALLER_PATH]\t",
52 "CustomAction:vimLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3122\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\" /admin\t",
53 "CustomAction:viuMpl8IvFSDAzTulrmpAzBwAmCRTQ\t1074\tVS_VSIX_INSTALLER_PATH\t/q \"[#filzi8nwT8Ta133xcfp7qSIdGdRiC0]\"\t",
54 "CustomAction:vrmLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3442\tVS_VSIX_INSTALLER_PATH\t/q /u:\"ExampleVsix\" /admin\t",
55 "CustomAction:vruMpl8IvFSDAzTulrmpAzBwAmCRTQ\t1394\tVS_VSIX_INSTALLER_PATH\t/q /u:\"ExampleVsix\"\t",
56 "CustomAction:vumLa9TyFoAVwf8JmA0_ZJHA69J2fo\t3186\tVS_VSIX_INSTALLER_PATH\t/q /u:\"ExampleVsix\" /admin\t",
57 "CustomAction:vuuMpl8IvFSDAzTulrmpAzBwAmCRTQ\t1138\tVS_VSIX_INSTALLER_PATH\t/q /u:\"ExampleVsix\"\t",
58 "CustomAction:Vwd2012VsixWhenVSAbsent\t51\tVS_VSIX_INSTALLER_PATH\t[VWD2012_VSIX_INSTALL_ROOT]\\Common7\\IDE\\VSIXInstaller.exe\t",
59 "CustomAction:Vwd2013VsixWhenVSAbsent\t51\tVS_VSIX_INSTALLER_PATH\t[VWD2013_VSIX_INSTALL_ROOT]\\Common7\\IDE\\VSIXInstaller.exe\t",
60 "CustomAction:Vwd2015VsixWhenVSAbsent\t51\tVS_VSIX_INSTALLER_PATH\t[VWD2015_VSIX_INSTALL_ROOT]\\Common7\\IDE\\VSIXInstaller.exe\t",
61 "CustomAction:Wix4VSFindInstances_A64\t257\tVSCA_A64\tFindInstances\t",
62 }, results);
63 }
64
38 private static void Build(string[] args) 65 private static void Build(string[] args)
39 { 66 {
40 var result = WixRunner.Execute(args) 67 var result = WixRunner.Execute(args)
41 .AssertSuccess(); 68 .AssertSuccess();
42 } 69 }
70
71 private static void BuildARM64(string[] args)
72 {
73 var newArgs = args.ToList();
74 newArgs.Add("-platform");
75 newArgs.Add("arm64");
76
77 var result = WixRunner.Execute(newArgs.ToArray());
78 result.AssertSuccess();
79 }
43 } 80 }
44} 81}
diff --git a/src/ext/VisualStudio/wixext/VSCompiler.cs b/src/ext/VisualStudio/wixext/VSCompiler.cs
index 1901a700..b6882779 100644
--- a/src/ext/VisualStudio/wixext/VSCompiler.cs
+++ b/src/ext/VisualStudio/wixext/VSCompiler.cs
@@ -76,7 +76,7 @@ namespace WixToolset.VisualStudio
76 76
77 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); 77 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element);
78 78
79 this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "Wix4VSFindInstances", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64); 79 this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "Wix4VSFindInstances", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM64);
80 } 80 }
81 81
82 private void ParseVsixPackageElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string fileId) 82 private void ParseVsixPackageElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string fileId)
diff --git a/src/ext/VisualStudio/wixlib/VS2017.wxs b/src/ext/VisualStudio/wixlib/VS2017.wxs
index 46cf8b33..ef852747 100644
--- a/src/ext/VisualStudio/wixlib/VS2017.wxs
+++ b/src/ext/VisualStudio/wixlib/VS2017.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">
@@ -91,7 +91,6 @@
91 <!-- C# language tools were installed as a part of VS 2017 setup. --> 91 <!-- C# language tools were installed as a part of VS 2017 setup. -->
92 <Fragment> 92 <Fragment>
93 <Property Id="VS2017_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 93 <Property Id="VS2017_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" />
94 <CustomActionRef Id="VSFindInstances" />
95 </Fragment> 94 </Fragment>
96 95
97 <!-- Indicates whether the Visual Basic project system is installed as a part of --> 96 <!-- Indicates whether the Visual Basic project system is installed as a part of -->
@@ -100,7 +99,6 @@
100 <!-- Basic language tools were installed as a part of VS 2017 setup. --> 99 <!-- Basic language tools were installed as a part of VS 2017 setup. -->
101 <Fragment> 100 <Fragment>
102 <Property Id="VS2017_IDE_VB_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 101 <Property Id="VS2017_IDE_VB_PROJECTSYSTEM_INSTALLED" Secure="yes" />
103 <CustomActionRef Id="VSFindInstances" />
104 </Fragment> 102 </Fragment>
105 103
106 <!-- Indicates whether the Visual Web Developer project system is installed as a part of --> 104 <!-- Indicates whether the Visual Web Developer project system is installed as a part of -->
@@ -109,7 +107,6 @@
109 <!-- Web Developer language tools were installed as a part of VS 2017 setup. --> 107 <!-- Web Developer language tools were installed as a part of VS 2017 setup. -->
110 <Fragment> 108 <Fragment>
111 <Property Id="VS2017_IDE_VWD_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 109 <Property Id="VS2017_IDE_VWD_PROJECTSYSTEM_INSTALLED" Secure="yes" />
112 <CustomActionRef Id="VSFindInstances" />
113 </Fragment> 110 </Fragment>
114 111
115 <!-- Indicates whether the Visual C++ project system is installed as a part of --> 112 <!-- Indicates whether the Visual C++ project system is installed as a part of -->
@@ -118,24 +115,20 @@
118 <!-- C++ language tools were installed as a part of VS 2017 setup. --> 115 <!-- C++ language tools were installed as a part of VS 2017 setup. -->
119 <Fragment> 116 <Fragment>
120 <Property Id="VS2017_IDE_VC_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 117 <Property Id="VS2017_IDE_VC_PROJECTSYSTEM_INSTALLED" Secure="yes" />
121 <CustomActionRef Id="VSFindInstances" />
122 </Fragment> 118 </Fragment>
123 119
124 <!-- Indicates whether the Visual Studio 2017 Team Test project system is installed --> 120 <!-- Indicates whether the Visual Studio 2017 Team Test project system is installed -->
125 <Fragment> 121 <Fragment>
126 <Property Id="VS2017_IDE_VSTS_TESTSYSTEM_INSTALLED" Secure="yes" /> 122 <Property Id="VS2017_IDE_VSTS_TESTSYSTEM_INSTALLED" Secure="yes" />
127 <CustomActionRef Id="VSFindInstances" />
128 </Fragment> 123 </Fragment>
129 124
130 <!-- Indicates whether the Visual Studio Modeling project system is installed --> 125 <!-- Indicates whether the Visual Studio Modeling project system is installed -->
131 <Fragment> 126 <Fragment>
132 <Property Id="VS2017_IDE_MODELING_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 127 <Property Id="VS2017_IDE_MODELING_PROJECTSYSTEM_INSTALLED" Secure="yes" />
133 <CustomActionRef Id="VSFindInstances" />
134 </Fragment> 128 </Fragment>
135 129
136 <!-- Indicates whether the Visual Studio F# project system is installed --> 130 <!-- Indicates whether the Visual Studio F# project system is installed -->
137 <Fragment> 131 <Fragment>
138 <Property Id="VS2017_IDE_FSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 132 <Property Id="VS2017_IDE_FSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" />
139 <CustomActionRef Id="VSFindInstances" />
140 </Fragment> 133 </Fragment>
141</Wix> 134</Wix>
diff --git a/src/ext/VisualStudio/wixlib/VS2019.wxs b/src/ext/VisualStudio/wixlib/VS2019.wxs
index 0deef2cc..59b4dcd4 100644
--- a/src/ext/VisualStudio/wixlib/VS2019.wxs
+++ b/src/ext/VisualStudio/wixlib/VS2019.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">
@@ -91,7 +91,6 @@
91 <!-- C# language tools were installed as a part of VS 2019 setup. --> 91 <!-- C# language tools were installed as a part of VS 2019 setup. -->
92 <Fragment> 92 <Fragment>
93 <Property Id="VS2019_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 93 <Property Id="VS2019_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" />
94 <CustomActionRef Id="VSFindInstances" />
95 </Fragment> 94 </Fragment>
96 95
97 <!-- Indicates whether the Visual Basic project system is installed as a part of --> 96 <!-- Indicates whether the Visual Basic project system is installed as a part of -->
@@ -100,7 +99,6 @@
100 <!-- Basic language tools were installed as a part of VS 2019 setup. --> 99 <!-- Basic language tools were installed as a part of VS 2019 setup. -->
101 <Fragment> 100 <Fragment>
102 <Property Id="VS2019_IDE_VB_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 101 <Property Id="VS2019_IDE_VB_PROJECTSYSTEM_INSTALLED" Secure="yes" />
103 <CustomActionRef Id="VSFindInstances" />
104 </Fragment> 102 </Fragment>
105 103
106 <!-- Indicates whether the Visual Web Developer project system is installed as a part of --> 104 <!-- Indicates whether the Visual Web Developer project system is installed as a part of -->
@@ -109,7 +107,6 @@
109 <!-- Web Developer language tools were installed as a part of VS 2019 setup. --> 107 <!-- Web Developer language tools were installed as a part of VS 2019 setup. -->
110 <Fragment> 108 <Fragment>
111 <Property Id="VS2019_IDE_VWD_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 109 <Property Id="VS2019_IDE_VWD_PROJECTSYSTEM_INSTALLED" Secure="yes" />
112 <CustomActionRef Id="VSFindInstances" />
113 </Fragment> 110 </Fragment>
114 111
115 <!-- Indicates whether the Visual C++ project system is installed as a part of --> 112 <!-- Indicates whether the Visual C++ project system is installed as a part of -->
@@ -118,24 +115,20 @@
118 <!-- C++ language tools were installed as a part of VS 2019 setup. --> 115 <!-- C++ language tools were installed as a part of VS 2019 setup. -->
119 <Fragment> 116 <Fragment>
120 <Property Id="VS2019_IDE_VC_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 117 <Property Id="VS2019_IDE_VC_PROJECTSYSTEM_INSTALLED" Secure="yes" />
121 <CustomActionRef Id="VSFindInstances" />
122 </Fragment> 118 </Fragment>
123 119
124 <!-- Indicates whether the Visual Studio 2019 Team Test project system is installed --> 120 <!-- Indicates whether the Visual Studio 2019 Team Test project system is installed -->
125 <Fragment> 121 <Fragment>
126 <Property Id="VS2019_IDE_VSTS_TESTSYSTEM_INSTALLED" Secure="yes" /> 122 <Property Id="VS2019_IDE_VSTS_TESTSYSTEM_INSTALLED" Secure="yes" />
127 <CustomActionRef Id="VSFindInstances" />
128 </Fragment> 123 </Fragment>
129 124
130 <!-- Indicates whether the Visual Studio Modeling project system is installed --> 125 <!-- Indicates whether the Visual Studio Modeling project system is installed -->
131 <Fragment> 126 <Fragment>
132 <Property Id="VS2019_IDE_MODELING_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 127 <Property Id="VS2019_IDE_MODELING_PROJECTSYSTEM_INSTALLED" Secure="yes" />
133 <CustomActionRef Id="VSFindInstances" />
134 </Fragment> 128 </Fragment>
135 129
136 <!-- Indicates whether the Visual Studio F# project system is installed --> 130 <!-- Indicates whether the Visual Studio F# project system is installed -->
137 <Fragment> 131 <Fragment>
138 <Property Id="VS2019_IDE_FSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 132 <Property Id="VS2019_IDE_FSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" />
139 <CustomActionRef Id="VSFindInstances" />
140 </Fragment> 133 </Fragment>
141</Wix> 134</Wix>
diff --git a/src/ext/VisualStudio/wixlib/VS2022.wxs b/src/ext/VisualStudio/wixlib/VS2022.wxs
index cad25441..acb683e9 100644
--- a/src/ext/VisualStudio/wixlib/VS2022.wxs
+++ b/src/ext/VisualStudio/wixlib/VS2022.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">
@@ -91,7 +91,6 @@
91 <!-- C# language tools were installed as a part of VS 2019 setup. --> 91 <!-- C# language tools were installed as a part of VS 2019 setup. -->
92 <Fragment> 92 <Fragment>
93 <Property Id="VS2022_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 93 <Property Id="VS2022_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" />
94 <CustomActionRef Id="VSFindInstances" />
95 </Fragment> 94 </Fragment>
96 95
97 <!-- Indicates whether the Visual Basic project system is installed as a part of --> 96 <!-- Indicates whether the Visual Basic project system is installed as a part of -->
@@ -100,7 +99,6 @@
100 <!-- Basic language tools were installed as a part of VS 2019 setup. --> 99 <!-- Basic language tools were installed as a part of VS 2019 setup. -->
101 <Fragment> 100 <Fragment>
102 <Property Id="VS2022_IDE_VB_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 101 <Property Id="VS2022_IDE_VB_PROJECTSYSTEM_INSTALLED" Secure="yes" />
103 <CustomActionRef Id="VSFindInstances" />
104 </Fragment> 102 </Fragment>
105 103
106 <!-- Indicates whether the Visual Web Developer project system is installed as a part of --> 104 <!-- Indicates whether the Visual Web Developer project system is installed as a part of -->
@@ -109,7 +107,6 @@
109 <!-- Web Developer language tools were installed as a part of VS 2019 setup. --> 107 <!-- Web Developer language tools were installed as a part of VS 2019 setup. -->
110 <Fragment> 108 <Fragment>
111 <Property Id="VS2022_IDE_VWD_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 109 <Property Id="VS2022_IDE_VWD_PROJECTSYSTEM_INSTALLED" Secure="yes" />
112 <CustomActionRef Id="VSFindInstances" />
113 </Fragment> 110 </Fragment>
114 111
115 <!-- Indicates whether the Visual C++ project system is installed as a part of --> 112 <!-- Indicates whether the Visual C++ project system is installed as a part of -->
@@ -118,24 +115,20 @@
118 <!-- C++ language tools were installed as a part of VS 2019 setup. --> 115 <!-- C++ language tools were installed as a part of VS 2019 setup. -->
119 <Fragment> 116 <Fragment>
120 <Property Id="VS2022_IDE_VC_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 117 <Property Id="VS2022_IDE_VC_PROJECTSYSTEM_INSTALLED" Secure="yes" />
121 <CustomActionRef Id="VSFindInstances" />
122 </Fragment> 118 </Fragment>
123 119
124 <!-- Indicates whether the Visual Studio 2019 Team Test project system is installed --> 120 <!-- Indicates whether the Visual Studio 2019 Team Test project system is installed -->
125 <Fragment> 121 <Fragment>
126 <Property Id="VS2022_IDE_VSTS_TESTSYSTEM_INSTALLED" Secure="yes" /> 122 <Property Id="VS2022_IDE_VSTS_TESTSYSTEM_INSTALLED" Secure="yes" />
127 <CustomActionRef Id="VSFindInstances" />
128 </Fragment> 123 </Fragment>
129 124
130 <!-- Indicates whether the Visual Studio Modeling project system is installed --> 125 <!-- Indicates whether the Visual Studio Modeling project system is installed -->
131 <Fragment> 126 <Fragment>
132 <Property Id="VS2022_IDE_MODELING_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 127 <Property Id="VS2022_IDE_MODELING_PROJECTSYSTEM_INSTALLED" Secure="yes" />
133 <CustomActionRef Id="VSFindInstances" />
134 </Fragment> 128 </Fragment>
135 129
136 <!-- Indicates whether the Visual Studio F# project system is installed --> 130 <!-- Indicates whether the Visual Studio F# project system is installed -->
137 <Fragment> 131 <Fragment>
138 <Property Id="VS2022_IDE_FSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" /> 132 <Property Id="VS2022_IDE_FSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes" />
139 <CustomActionRef Id="VSFindInstances" />
140 </Fragment> 133 </Fragment>
141</Wix> 134</Wix>
diff --git a/src/ext/VisualStudio/wixlib/VSExtension_arm64.wxs b/src/ext/VisualStudio/wixlib/VSExtension_arm64.wxs
new file mode 100644
index 00000000..02e23e8b
--- /dev/null
+++ b/src/ext/VisualStudio/wixlib/VSExtension_arm64.wxs
@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<!-- 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. -->
3
4
5<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
6 <?define platform=arm64 ?>
7 <?include VSExtension_Platform.wxi ?>
8</Wix>
diff --git a/src/ext/VisualStudio/wixlib/vs.wixproj b/src/ext/VisualStudio/wixlib/vs.wixproj
index 85b9120a..e416c67a 100644
--- a/src/ext/VisualStudio/wixlib/vs.wixproj
+++ b/src/ext/VisualStudio/wixlib/vs.wixproj
@@ -11,6 +11,7 @@
11 <ItemGroup> 11 <ItemGroup>
12 <ProjectReference Include="..\ca\vsca.vcxproj" Properties="Platform=x86" ReferenceOutputAssembly="false" /> 12 <ProjectReference Include="..\ca\vsca.vcxproj" Properties="Platform=x86" ReferenceOutputAssembly="false" />
13 <ProjectReference Include="..\ca\vsca.vcxproj" Properties="Platform=x64" ReferenceOutputAssembly="false" /> 13 <ProjectReference Include="..\ca\vsca.vcxproj" Properties="Platform=x64" ReferenceOutputAssembly="false" />
14 <ProjectReference Include="..\ca\vsca.vcxproj" Properties="Platform=ARM64" ReferenceOutputAssembly="false" />
14 </ItemGroup> 15 </ItemGroup>
15 16
16 <ItemGroup> 17 <ItemGroup>
diff --git a/src/wix/WixToolset.Converters/WixConverter.cs b/src/wix/WixToolset.Converters/WixConverter.cs
index 1b51ef30..3d844b44 100644
--- a/src/wix/WixToolset.Converters/WixConverter.cs
+++ b/src/wix/WixToolset.Converters/WixConverter.cs
@@ -1532,13 +1532,6 @@ namespace WixToolset.Converters
1532 newElementName = "QueryNativeMachine"; 1532 newElementName = "QueryNativeMachine";
1533 break; 1533 break;
1534 case "VS2017_ROOT_FOLDER": 1534 case "VS2017_ROOT_FOLDER":
1535 case "VS2017DEVENV":
1536 case "VS2017_EXTENSIONS_DIR":
1537 case "VS2017_ITEMTEMPLATES_DIR":
1538 case "VS2017_PROJECTTEMPLATES_DIR":
1539 case "VS2017_SCHEMAS_DIR":
1540 case "VS2017_IDE_DIR":
1541 case "VS2017_BOOTSTRAPPER_PACKAGE_FOLDER":
1542 case "VS2017_IDE_FSHARP_PROJECTSYSTEM_INSTALLED": 1535 case "VS2017_IDE_FSHARP_PROJECTSYSTEM_INSTALLED":
1543 case "VS2017_IDE_VB_PROJECTSYSTEM_INSTALLED": 1536 case "VS2017_IDE_VB_PROJECTSYSTEM_INSTALLED":
1544 case "VS2017_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED": 1537 case "VS2017_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED":
@@ -1547,13 +1540,6 @@ namespace WixToolset.Converters
1547 case "VS2017_IDE_VWD_PROJECTSYSTEM_INSTALLED": 1540 case "VS2017_IDE_VWD_PROJECTSYSTEM_INSTALLED":
1548 case "VS2017_IDE_MODELING_PROJECTSYSTEM_INSTALLED": 1541 case "VS2017_IDE_MODELING_PROJECTSYSTEM_INSTALLED":
1549 case "VS2019_ROOT_FOLDER": 1542 case "VS2019_ROOT_FOLDER":
1550 case "VS2019DEVENV":
1551 case "VS2019_EXTENSIONS_DIR":
1552 case "VS2019_ITEMTEMPLATES_DIR":
1553 case "VS2019_PROJECTTEMPLATES_DIR":
1554 case "VS2019_SCHEMAS_DIR":
1555 case "VS2019_IDE_DIR":
1556 case "VS2019_BOOTSTRAPPER_PACKAGE_FOLDER":
1557 case "VS2019_IDE_FSHARP_PROJECTSYSTEM_INSTALLED": 1543 case "VS2019_IDE_FSHARP_PROJECTSYSTEM_INSTALLED":
1558 case "VS2019_IDE_VB_PROJECTSYSTEM_INSTALLED": 1544 case "VS2019_IDE_VB_PROJECTSYSTEM_INSTALLED":
1559 case "VS2019_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED": 1545 case "VS2019_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED":
@@ -1562,13 +1548,6 @@ namespace WixToolset.Converters
1562 case "VS2019_IDE_VWD_PROJECTSYSTEM_INSTALLED": 1548 case "VS2019_IDE_VWD_PROJECTSYSTEM_INSTALLED":
1563 case "VS2019_IDE_MODELING_PROJECTSYSTEM_INSTALLED": 1549 case "VS2019_IDE_MODELING_PROJECTSYSTEM_INSTALLED":
1564 case "VS2022_ROOT_FOLDER": 1550 case "VS2022_ROOT_FOLDER":
1565 case "VS2022DEVENV":
1566 case "VS2022_EXTENSIONS_DIR":
1567 case "VS2022_ITEMTEMPLATES_DIR":
1568 case "VS2022_PROJECTTEMPLATES_DIR":
1569 case "VS2022_SCHEMAS_DIR":
1570 case "VS2022_IDE_DIR":
1571 case "VS2022_BOOTSTRAPPER_PACKAGE_FOLDER":
1572 case "VS2022_IDE_FSHARP_PROJECTSYSTEM_INSTALLED": 1551 case "VS2022_IDE_FSHARP_PROJECTSYSTEM_INSTALLED":
1573 case "VS2022_IDE_VB_PROJECTSYSTEM_INSTALLED": 1552 case "VS2022_IDE_VB_PROJECTSYSTEM_INSTALLED":
1574 case "VS2022_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED": 1553 case "VS2022_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED":
@@ -1579,6 +1558,33 @@ namespace WixToolset.Converters
1579 newElementName = "FindVisualStudio"; 1558 newElementName = "FindVisualStudio";
1580 newNamespace = WixVSNamespace; 1559 newNamespace = WixVSNamespace;
1581 newNamespaceName = "vs"; 1560 newNamespaceName = "vs";
1561 break;
1562 case "VS2017DEVENV":
1563 case "VS2017_EXTENSIONS_DIR":
1564 case "VS2017_ITEMTEMPLATES_DIR":
1565 case "VS2017_PROJECTTEMPLATES_DIR":
1566 case "VS2017_SCHEMAS_DIR":
1567 case "VS2017_IDE_DIR":
1568 case "VS2017_BOOTSTRAPPER_PACKAGE_FOLDER":
1569 case "VS2019DEVENV":
1570 case "VS2019_EXTENSIONS_DIR":
1571 case "VS2019_ITEMTEMPLATES_DIR":
1572 case "VS2019_PROJECTTEMPLATES_DIR":
1573 case "VS2019_SCHEMAS_DIR":
1574 case "VS2019_IDE_DIR":
1575 case "VS2019_BOOTSTRAPPER_PACKAGE_FOLDER":
1576 case "VS2022DEVENV":
1577 case "VS2022_EXTENSIONS_DIR":
1578 case "VS2022_ITEMTEMPLATES_DIR":
1579 case "VS2022_PROJECTTEMPLATES_DIR":
1580 case "VS2022_SCHEMAS_DIR":
1581 case "VS2022_IDE_DIR":
1582 case "VS2022_BOOTSTRAPPER_PACKAGE_FOLDER":
1583 // These PropertyRefs need to stay (in addition to the `FindVisualStudio`
1584 // addition) because they're constructed from deeper AppSearches.
1585 newElementName = "FindVisualStudio";
1586 newNamespace = WixVSNamespace;
1587 newNamespaceName = "vs";
1582 replace = false; 1588 replace = false;
1583 break; 1589 break;
1584 case "WIX_DIRECTX_PIXELSHADERVERSION": 1590 case "WIX_DIRECTX_PIXELSHADERVERSION":
diff --git a/src/wix/test/WixToolsetTest.Converters/VSExtensionFixture.cs b/src/wix/test/WixToolsetTest.Converters/VSExtensionFixture.cs
index e9d9a211..8f60cdf8 100644
--- a/src/wix/test/WixToolsetTest.Converters/VSExtensionFixture.cs
+++ b/src/wix/test/WixToolsetTest.Converters/VSExtensionFixture.cs
@@ -27,7 +27,7 @@ namespace WixToolsetTest.Converters
27 { 27 {
28 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\" xmlns:vs=\"http://wixtoolset.org/schemas/v4/wxs/vs\">", 28 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\" xmlns:vs=\"http://wixtoolset.org/schemas/v4/wxs/vs\">",
29 " <Fragment>", 29 " <Fragment>",
30 " <vs:FindVisualStudio /><PropertyRef Id=\"VS2019_ROOT_FOLDER\" />", 30 " <vs:FindVisualStudio />",
31 " <vs:FindVisualStudio /><PropertyRef Id=\"VS2022_BOOTSTRAPPER_PACKAGE_FOLDER\" />", 31 " <vs:FindVisualStudio /><PropertyRef Id=\"VS2022_BOOTSTRAPPER_PACKAGE_FOLDER\" />",
32 " <CustomActionRef Id=\"VS2017Setup\" />", 32 " <CustomActionRef Id=\"VS2017Setup\" />",
33 " </Fragment>", 33 " </Fragment>",