diff options
author | Bob Arnson <bob@firegiant.com> | 2023-01-11 20:14:29 -0500 |
---|---|---|
committer | Bob Arnson <github@bobs.org> | 2023-01-11 21:29:41 -0500 |
commit | 10794363b90e49885ace5729bb45af4da5d0f220 (patch) | |
tree | f13aac3990088cdff76885f04bca433fa3c803d0 | |
parent | bc4a72752cb199c7a3ba5a24f656b5e1c0aa9958 (diff) | |
download | wix-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.
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>", |