aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Arnson <bob@joyofsetup.com>2020-05-17 21:03:28 -0400
committerBob Arnson <bob@firegiant.com>2020-05-17 21:28:32 -0400
commitcc083c765e8b7baa239c4d800a372cc729ada9d8 (patch)
tree8e6418a5ae98707e1d8c020953bfec39ab02980a
parentfba81fb720a87075cb78077273b038130c380b8a (diff)
downloadwix-cc083c765e8b7baa239c4d800a372cc729ada9d8.tar.gz
wix-cc083c765e8b7baa239c4d800a372cc729ada9d8.tar.bz2
wix-cc083c765e8b7baa239c4d800a372cc729ada9d8.zip
Support ARM64.
-rw-r--r--appveyor.cmd3
-rw-r--r--nuget.config1
-rw-r--r--src/ca/fwca.vcxproj37
-rw-r--r--src/ca/packages.config4
-rw-r--r--src/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs43
-rw-r--r--src/wixext/FirewallCompiler.cs15
-rw-r--r--src/wixext/FirewallWindowsInstallerBackendExtension.cs4
-rw-r--r--src/wixlib/FirewallExtension_Platform.wxi32
-rw-r--r--src/wixlib/FirewallExtension_arm.wxs8
-rw-r--r--src/wixlib/FirewallExtension_arm64.wxs8
-rw-r--r--src/wixlib/FirewallExtension_x64.wxs8
-rw-r--r--src/wixlib/caDecor.wxi40
-rw-r--r--src/wixlib/caSuffix.wxi28
-rw-r--r--src/wixlib/firewall.wixproj39
-rw-r--r--src/wixlib/packages.config2
15 files changed, 199 insertions, 73 deletions
diff --git a/appveyor.cmd b/appveyor.cmd
index 6742048a..f40602b7 100644
--- a/appveyor.cmd
+++ b/appveyor.cmd
@@ -9,5 +9,8 @@ msbuild -p:Configuration=Release src\test\WixToolsetTest.Firewall\WixToolsetTest
9 9
10msbuild -p:Configuration=Release -t:Pack src\wixext\WixToolset.Firewall.wixext.csproj 10msbuild -p:Configuration=Release -t:Pack src\wixext\WixToolset.Firewall.wixext.csproj
11 11
12msbuild -p:Configuration=Release src\test\WixToolsetTest.Firewall\WixToolsetTest.Firewall.csproj
13dotnet test -c Release --no-build src\test\WixToolsetTest.Firewall
14
12@popd 15@popd
13@endlocal \ No newline at end of file 16@endlocal \ No newline at end of file
diff --git a/nuget.config b/nuget.config
index aaee3228..d5408d52 100644
--- a/nuget.config
+++ b/nuget.config
@@ -6,6 +6,7 @@
6 <add key="wixtoolset-extensibility" value="https://ci.appveyor.com/nuget/wixtoolset-extensibility" /> 6 <add key="wixtoolset-extensibility" value="https://ci.appveyor.com/nuget/wixtoolset-extensibility" />
7 <add key="wixtoolset-core" value="https://ci.appveyor.com/nuget/wixtoolset-core" /> 7 <add key="wixtoolset-core" value="https://ci.appveyor.com/nuget/wixtoolset-core" />
8 <add key="wixtoolset-core-native" value="https://ci.appveyor.com/nuget/wixtoolset-core-native" /> 8 <add key="wixtoolset-core-native" value="https://ci.appveyor.com/nuget/wixtoolset-core-native" />
9 <add key="wixtoolset-burn" value="https://ci.appveyor.com/nuget/wixtoolset-burn" />
9 <add key="wixtoolset-dtf" value="https://ci.appveyor.com/nuget/wixtoolset-dtf" /> 10 <add key="wixtoolset-dtf" value="https://ci.appveyor.com/nuget/wixtoolset-dtf" />
10 <add key="wixtoolset-dutil" value="https://ci.appveyor.com/nuget/wixtoolset-dutil" /> 11 <add key="wixtoolset-dutil" value="https://ci.appveyor.com/nuget/wixtoolset-dutil" />
11 <add key="wixtoolset-wcautil" value="https://ci.appveyor.com/nuget/wixtoolset-wcautil" /> 12 <add key="wixtoolset-wcautil" value="https://ci.appveyor.com/nuget/wixtoolset-wcautil" />
diff --git a/src/ca/fwca.vcxproj b/src/ca/fwca.vcxproj
index 0172ddbc..c2addf82 100644
--- a/src/ca/fwca.vcxproj
+++ b/src/ca/fwca.vcxproj
@@ -2,10 +2,37 @@
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. --> 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 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" /> 5 <Import Project="..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" />
6 <Import Project="..\..\packages\WixToolset.WcaUtil.4.0.8\build\WixToolset.WcaUtil.props" Condition="Exists('..\..\packages\WixToolset.WcaUtil.4.0.8\build\WixToolset.WcaUtil.props')" /> 6 <Import Project="..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props" Condition="Exists('..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props')" />
7 7
8 <ItemGroup Label="ProjectConfigurations"> 8 <ItemGroup Label="ProjectConfigurations">
9 <ProjectConfiguration Include="Debug|ARM">
10 <Configuration>Debug</Configuration>
11 <Platform>ARM</Platform>
12 </ProjectConfiguration>
13 <ProjectConfiguration Include="Release|ARM">
14 <Configuration>Release</Configuration>
15 <Platform>ARM</Platform>
16 </ProjectConfiguration>
17
18 <ProjectConfiguration Include="Debug|ARM64">
19 <Configuration>Debug</Configuration>
20 <Platform>ARM64</Platform>
21 </ProjectConfiguration>
22 <ProjectConfiguration Include="Release|ARM64">
23 <Configuration>Release</Configuration>
24 <Platform>ARM64</Platform>
25 </ProjectConfiguration>
26
27 <ProjectConfiguration Include="Debug|X64">
28 <Configuration>Debug</Configuration>
29 <Platform>X64</Platform>
30 </ProjectConfiguration>
31 <ProjectConfiguration Include="Release|X64">
32 <Configuration>Release</Configuration>
33 <Platform>X64</Platform>
34 </ProjectConfiguration>
35
9 <ProjectConfiguration Include="Debug|Win32"> 36 <ProjectConfiguration Include="Debug|Win32">
10 <Configuration>Debug</Configuration> 37 <Configuration>Debug</Configuration>
11 <Platform>Win32</Platform> 38 <Platform>Win32</Platform>
@@ -20,7 +47,7 @@
20 <ProjectGuid>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</ProjectGuid> 47 <ProjectGuid>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</ProjectGuid>
21 <ConfigurationType>DynamicLibrary</ConfigurationType> 48 <ConfigurationType>DynamicLibrary</ConfigurationType>
22 <TargetName>fwca</TargetName> 49 <TargetName>fwca</TargetName>
23 <PlatformToolset>v141</PlatformToolset> 50 <PlatformToolset>v142</PlatformToolset>
24 <CharacterSet>Unicode</CharacterSet> 51 <CharacterSet>Unicode</CharacterSet>
25 <ProjectModuleDefinitionFile>fwca.def</ProjectModuleDefinitionFile> 52 <ProjectModuleDefinitionFile>fwca.def</ProjectModuleDefinitionFile>
26 <Description>WiX Toolset Firewall CustomAction</Description> 53 <Description>WiX Toolset Firewall CustomAction</Description>
@@ -57,7 +84,7 @@
57 <PropertyGroup> 84 <PropertyGroup>
58 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 85 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
59 </PropertyGroup> 86 </PropertyGroup>
60 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props'))" /> 87 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props'))" />
61 <Error Condition="!Exists('..\..\packages\WixToolset.WcaUtil.4.0.8\build\WixToolset.WcaUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.WcaUtil.4.0.8\build\WixToolset.WcaUtil.props'))" /> 88 <Error Condition="!Exists('..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props'))" />
62 </Target> 89 </Target>
63</Project> 90</Project>
diff --git a/src/ca/packages.config b/src/ca/packages.config
index 4e9403bf..97a06c72 100644
--- a/src/ca/packages.config
+++ b/src/ca/packages.config
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<packages> 2<packages>
3 <package id="WixToolset.DUtil" version="4.0.18" targetFramework="native" /> 3 <package id="WixToolset.DUtil" version="4.0.23" targetFramework="native" />
4 <package id="WixToolset.WcaUtil" version="4.0.8" targetFramework="native" /> 4 <package id="WixToolset.WcaUtil" version="4.0.11" targetFramework="native" />
5</packages> \ No newline at end of file 5</packages> \ No newline at end of file
diff --git a/src/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs b/src/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
index fa64f7d3..8f8ba44a 100644
--- a/src/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
+++ b/src/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
@@ -11,22 +11,57 @@ namespace WixToolsetTest.Firewall
11 public class FirewallExtensionFixture 11 public class FirewallExtensionFixture
12 { 12 {
13 [Fact] 13 [Fact]
14 public void CanBuildUsingFileShare() 14 public void CanBuildUsingFirewall()
15 { 15 {
16 var folder = TestData.Get(@"TestData\UsingFirewall"); 16 var folder = TestData.Get(@"TestData\UsingFirewall");
17 var build = new Builder(folder, typeof(FirewallExtensionFactory), new[] { folder }); 17 var build = new Builder(folder, typeof(FirewallExtensionFactory), new[] { folder });
18 18
19 var results = build.BuildAndQuery(Build, "WixFirewallException"); 19 var results = build.BuildAndQuery(Build, "WixFirewallException", "CustomAction");
20 Assert.Equal(new[] 20 Assert.Equal(new[]
21 { 21 {
22 "CustomAction:Wix4ExecFirewallExceptionsInstall_X86\t3073\tWix4FWCA_X86\tExecFirewallExceptions\t",
23 "CustomAction:Wix4ExecFirewallExceptionsUninstall_X86\t3073\tWix4FWCA_X86\tExecFirewallExceptions\t",
24 "CustomAction:Wix4RollbackFirewallExceptionsInstall_X86\t3329\tWix4FWCA_X86\tExecFirewallExceptions\t",
25 "CustomAction:Wix4RollbackFirewallExceptionsUninstall_X86\t3329\tWix4FWCA_X86\tExecFirewallExceptions\t",
26 "CustomAction:Wix4SchedFirewallExceptionsInstall_X86\t1\tWix4FWCA_X86\tSchedFirewallExceptionsInstall\t",
27 "CustomAction:Wix4SchedFirewallExceptionsUninstall_X86\t1\tWix4FWCA_X86\tSchedFirewallExceptionsUninstall\t",
28 "WixFirewallException:ExampleFirewall\texample\t*\t42\t6\t\t0\t2147483647\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tAn example firewall",
29 }, results);
30 }
31
32 [Fact]
33 public void CanBuildUsingFirewallARM64()
34 {
35 var folder = TestData.Get(@"TestData\UsingFirewall");
36 var build = new Builder(folder, typeof(FirewallExtensionFactory), new[] { folder });
37
38 var results = build.BuildAndQuery(BuildARM64, "WixFirewallException", "CustomAction");
39 Assert.Equal(new[]
40 {
41 "CustomAction:Wix4ExecFirewallExceptionsInstall_A64\t3073\tWix4FWCA_A64\tExecFirewallExceptions\t",
42 "CustomAction:Wix4ExecFirewallExceptionsUninstall_A64\t3073\tWix4FWCA_A64\tExecFirewallExceptions\t",
43 "CustomAction:Wix4RollbackFirewallExceptionsInstall_A64\t3329\tWix4FWCA_A64\tExecFirewallExceptions\t",
44 "CustomAction:Wix4RollbackFirewallExceptionsUninstall_A64\t3329\tWix4FWCA_A64\tExecFirewallExceptions\t",
45 "CustomAction:Wix4SchedFirewallExceptionsInstall_A64\t1\tWix4FWCA_A64\tSchedFirewallExceptionsInstall\t",
46 "CustomAction:Wix4SchedFirewallExceptionsUninstall_A64\t1\tWix4FWCA_A64\tSchedFirewallExceptionsUninstall\t",
22 "WixFirewallException:ExampleFirewall\texample\t*\t42\t6\t\t0\t2147483647\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tAn example firewall", 47 "WixFirewallException:ExampleFirewall\texample\t*\t42\t6\t\t0\t2147483647\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tAn example firewall",
23 }, results); 48 }, results);
24 } 49 }
25 50
26 private static void Build(string[] args) 51 private static void Build(string[] args)
27 { 52 {
28 var result = WixRunner.Execute(args) 53 var result = WixRunner.Execute(args);
29 .AssertSuccess(); 54 result.AssertSuccess();
55 }
56
57 private static void BuildARM64(string[] args)
58 {
59 var newArgs = args.ToList();
60 newArgs.Add("-platform");
61 newArgs.Add("arm64");
62
63 var result = WixRunner.Execute(newArgs.ToArray());
64 result.AssertSuccess();
30 } 65 }
31 } 66 }
32} 67}
diff --git a/src/wixext/FirewallCompiler.cs b/src/wixext/FirewallCompiler.cs
index 16136954..1fa80f48 100644
--- a/src/wixext/FirewallCompiler.cs
+++ b/src/wixext/FirewallCompiler.cs
@@ -7,6 +7,7 @@ namespace WixToolset.Firewall
7 using System.Xml.Linq; 7 using System.Xml.Linq;
8 using WixToolset.Data; 8 using WixToolset.Data;
9 using WixToolset.Extensibility; 9 using WixToolset.Extensibility;
10 using WixToolset.Extensibility.Data;
10 using WixToolset.Firewall.Tuples; 11 using WixToolset.Firewall.Tuples;
11 12
12 /// <summary> 13 /// <summary>
@@ -292,18 +293,8 @@ namespace WixToolset.Firewall
292 tuple.Attributes = attributes; 293 tuple.Attributes = attributes;
293 } 294 }
294 295
295 if (this.Context.Platform == Platform.ARM) 296 this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedFirewallExceptionsInstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64 | CustomActionPlatforms.X64 | CustomActionPlatforms.X86);
296 { 297 this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedFirewallExceptionsUninstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64 | CustomActionPlatforms.X64 | CustomActionPlatforms.X86);
297 // Ensure ARM version of the CA is referenced
298 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "WixSchedFirewallExceptionsInstall_ARM");
299 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "WixSchedFirewallExceptionsUninstall_ARM");
300 }
301 else
302 {
303 // All other supported platforms use x86
304 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "WixSchedFirewallExceptionsInstall");
305 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "WixSchedFirewallExceptionsUninstall");
306 }
307 } 298 }
308 } 299 }
309 300
diff --git a/src/wixext/FirewallWindowsInstallerBackendExtension.cs b/src/wixext/FirewallWindowsInstallerBackendExtension.cs
index dea355b4..46fdfa77 100644
--- a/src/wixext/FirewallWindowsInstallerBackendExtension.cs
+++ b/src/wixext/FirewallWindowsInstallerBackendExtension.cs
@@ -1,10 +1,8 @@
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
3namespace WixToolset.Firewall 3namespace WixToolset.Firewall
4{ 4{
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 using System.Linq;
7 using System.Xml;
8 using WixToolset.Data.WindowsInstaller; 6 using WixToolset.Data.WindowsInstaller;
9 using WixToolset.Extensibility; 7 using WixToolset.Extensibility;
10 8
diff --git a/src/wixlib/FirewallExtension_Platform.wxi b/src/wixlib/FirewallExtension_Platform.wxi
index 263651d2..afd5f20b 100644
--- a/src/wixlib/FirewallExtension_Platform.wxi
+++ b/src/wixlib/FirewallExtension_Platform.wxi
@@ -2,33 +2,33 @@
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. --> 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 3
4<Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?include caSuffix.wxi ?> 5 <?include caDecor.wxi ?>
6 <Fragment> 6 <Fragment>
7 <UIRef Id="WixFirewallErrors" /> 7 <UIRef Id="WixFirewallErrors" />
8 <UI> 8 <UI>
9 <ProgressText Action="WixSchedFirewallExceptionsInstall$(var.Suffix)">!(loc.WixSchedFirewallExceptionsInstall)</ProgressText> 9 <ProgressText Action="$(var.Prefix)SchedFirewallExceptionsInstall$(var.Suffix)">!(loc.WixSchedFirewallExceptionsInstall)</ProgressText>
10 <ProgressText Action="WixSchedFirewallExceptionsUninstall$(var.Suffix)">!(loc.WixSchedFirewallExceptionsUninstall)</ProgressText> 10 <ProgressText Action="$(var.Prefix)SchedFirewallExceptionsUninstall$(var.Suffix)">!(loc.WixSchedFirewallExceptionsUninstall)</ProgressText>
11 <ProgressText Action="WixRollbackFirewallExceptionsInstall$(var.DeferredSuffix)">!(loc.WixRollbackFirewallExceptionsInstall)</ProgressText> 11 <ProgressText Action="$(var.Prefix)RollbackFirewallExceptionsInstall$(var.Suffix)">!(loc.WixRollbackFirewallExceptionsInstall)</ProgressText>
12 <ProgressText Action="WixExecFirewallExceptionsInstall$(var.DeferredSuffix)">!(loc.WixExecFirewallExceptionsInstall)</ProgressText> 12 <ProgressText Action="$(var.Prefix)ExecFirewallExceptionsInstall$(var.Suffix)">!(loc.WixExecFirewallExceptionsInstall)</ProgressText>
13 <ProgressText Action="WixRollbackFirewallExceptionsUninstall$(var.DeferredSuffix)">!(loc.WixRollbackFirewallExceptionsUninstall)</ProgressText> 13 <ProgressText Action="$(var.Prefix)RollbackFirewallExceptionsUninstall$(var.Suffix)">!(loc.WixRollbackFirewallExceptionsUninstall)</ProgressText>
14 <ProgressText Action="WixExecFirewallExceptionsUninstall$(var.DeferredSuffix)">!(loc.WixExecFirewallExceptionsUninstall)</ProgressText> 14 <ProgressText Action="$(var.Prefix)ExecFirewallExceptionsUninstall$(var.Suffix)">!(loc.WixExecFirewallExceptionsUninstall)</ProgressText>
15 </UI> 15 </UI>
16 16
17 <CustomAction Id="WixSchedFirewallExceptionsInstall$(var.Suffix)" BinaryKey="WixFirewallCA$(var.Suffix)" DllEntry="SchedFirewallExceptionsInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> 17 <CustomAction Id="$(var.Prefix)SchedFirewallExceptionsInstall$(var.Suffix)" BinaryKey="$(var.Prefix)FWCA$(var.Suffix)" DllEntry="SchedFirewallExceptionsInstall" Execute="immediate" Return="check" SuppressModularization="yes" />
18 <CustomAction Id="WixSchedFirewallExceptionsUninstall$(var.Suffix)" BinaryKey="WixFirewallCA$(var.Suffix)" DllEntry="SchedFirewallExceptionsUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> 18 <CustomAction Id="$(var.Prefix)SchedFirewallExceptionsUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)FWCA$(var.Suffix)" DllEntry="SchedFirewallExceptionsUninstall" Execute="immediate" Return="check" SuppressModularization="yes" />
19 <CustomAction Id="WixRollbackFirewallExceptionsInstall$(var.DeferredSuffix)" BinaryKey="WixFirewallCA$(var.Suffix)" DllEntry="ExecFirewallExceptions" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> 19 <CustomAction Id="$(var.Prefix)RollbackFirewallExceptionsInstall$(var.Suffix)" BinaryKey="$(var.Prefix)FWCA$(var.Suffix)" DllEntry="ExecFirewallExceptions" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" />
20 <CustomAction Id="WixExecFirewallExceptionsInstall$(var.DeferredSuffix)" BinaryKey="WixFirewallCA$(var.Suffix)" DllEntry="ExecFirewallExceptions" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> 20 <CustomAction Id="$(var.Prefix)ExecFirewallExceptionsInstall$(var.Suffix)" BinaryKey="$(var.Prefix)FWCA$(var.Suffix)" DllEntry="ExecFirewallExceptions" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" />
21 <CustomAction Id="WixRollbackFirewallExceptionsUninstall$(var.DeferredSuffix)" BinaryKey="WixFirewallCA$(var.Suffix)" DllEntry="ExecFirewallExceptions" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> 21 <CustomAction Id="$(var.Prefix)RollbackFirewallExceptionsUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)FWCA$(var.Suffix)" DllEntry="ExecFirewallExceptions" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" />
22 <CustomAction Id="WixExecFirewallExceptionsUninstall$(var.DeferredSuffix)" BinaryKey="WixFirewallCA$(var.Suffix)" DllEntry="ExecFirewallExceptions" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> 22 <CustomAction Id="$(var.Prefix)ExecFirewallExceptionsUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)FWCA$(var.Suffix)" DllEntry="ExecFirewallExceptions" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" />
23 23
24 <!-- 24 <!--
25 We need the firewall on Windows XP SP2 or later. 25 We need the firewall on Windows XP SP2 or later.
26 --> 26 -->
27 <InstallExecuteSequence> 27 <InstallExecuteSequence>
28 <Custom Action="WixSchedFirewallExceptionsUninstall$(var.Suffix)" Before="RemoveFiles" Overridable="yes"> 28 <Custom Action="$(var.Prefix)SchedFirewallExceptionsUninstall$(var.Suffix)" Before="RemoveFiles" Overridable="yes">
29 <![CDATA[ VersionNT >= 600 OR (VersionNT >= 501 AND ((MsiNTProductType = 1 AND ServicePackLevel >= 2) OR (MsiNTProductType > 1 AND ServicePackLevel >= 1))) ]]> 29 <![CDATA[ VersionNT >= 600 OR (VersionNT >= 501 AND ((MsiNTProductType = 1 AND ServicePackLevel >= 2) OR (MsiNTProductType > 1 AND ServicePackLevel >= 1))) ]]>
30 </Custom> 30 </Custom>
31 <Custom Action="WixSchedFirewallExceptionsInstall$(var.Suffix)" After="InstallFiles" Overridable="yes"> 31 <Custom Action="$(var.Prefix)SchedFirewallExceptionsInstall$(var.Suffix)" After="InstallFiles" Overridable="yes">
32 <![CDATA[ VersionNT >= 600 OR (VersionNT >= 501 AND ((MsiNTProductType = 1 AND ServicePackLevel >= 2) OR (MsiNTProductType > 1 AND ServicePackLevel >= 1))) ]]> 32 <![CDATA[ VersionNT >= 600 OR (VersionNT >= 501 AND ((MsiNTProductType = 1 AND ServicePackLevel >= 2) OR (MsiNTProductType > 1 AND ServicePackLevel >= 1))) ]]>
33 </Custom> 33 </Custom>
34 </InstallExecuteSequence> 34 </InstallExecuteSequence>
@@ -36,6 +36,6 @@
36 36
37 <!-- Firewall Custom Action DLL Definitions --> 37 <!-- Firewall Custom Action DLL Definitions -->
38 <Fragment> 38 <Fragment>
39 <Binary Id="WixFirewallCA$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))fwca.dll" /> 39 <Binary Id="$(var.Prefix)FWCA$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))fwca.dll" />
40 </Fragment> 40 </Fragment>
41</Include> 41</Include>
diff --git a/src/wixlib/FirewallExtension_arm.wxs b/src/wixlib/FirewallExtension_arm.wxs
new file mode 100644
index 00000000..8afe1589
--- /dev/null
+++ b/src/wixlib/FirewallExtension_arm.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=arm ?>
7 <?include FirewallExtension_Platform.wxi ?>
8</Wix>
diff --git a/src/wixlib/FirewallExtension_arm64.wxs b/src/wixlib/FirewallExtension_arm64.wxs
new file mode 100644
index 00000000..4fc16b63
--- /dev/null
+++ b/src/wixlib/FirewallExtension_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 FirewallExtension_Platform.wxi ?>
8</Wix>
diff --git a/src/wixlib/FirewallExtension_x64.wxs b/src/wixlib/FirewallExtension_x64.wxs
new file mode 100644
index 00000000..8317c20b
--- /dev/null
+++ b/src/wixlib/FirewallExtension_x64.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=x64 ?>
7 <?include FirewallExtension_Platform.wxi ?>
8</Wix>
diff --git a/src/wixlib/caDecor.wxi b/src/wixlib/caDecor.wxi
new file mode 100644
index 00000000..1d00df8f
--- /dev/null
+++ b/src/wixlib/caDecor.wxi
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="utf-8"?>
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<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
6 <?ifdef Prefix ?>
7 <?undef Prefix ?>
8 <?endif ?>
9
10 <?define Prefix="Wix4" ?>
11
12 <?ifndef platform ?>
13 <?define platform="x86" ?>
14 <?endif ?>
15
16 <?if $(var.platform)="" ?>
17 <?undef platform ?>
18 <?define platform="x86" ?>
19 <?endif ?>
20
21 <?ifdef Suffix ?>
22 <?undef Suffix ?>
23 <?endif ?>
24
25 <?if $(var.platform)~="x86" ?>
26 <?define Suffix="_X86" ?>
27 <?endif ?>
28
29 <?if $(var.platform)~="x64" ?>
30 <?define Suffix="_X64" ?>
31 <?endif ?>
32
33 <?if $(var.platform)~="arm" ?>
34 <?define Suffix="_A32" ?>
35 <?endif ?>
36
37 <?if $(var.platform)~="arm64" ?>
38 <?define Suffix="_A64" ?>
39 <?endif ?>
40</Include>
diff --git a/src/wixlib/caSuffix.wxi b/src/wixlib/caSuffix.wxi
deleted file mode 100644
index a56a2393..00000000
--- a/src/wixlib/caSuffix.wxi
+++ /dev/null
@@ -1,28 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
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<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?ifndef platform ?>
6 <?error Required value "platform" not defined in include caSuffix.wxi ?>
7 <?endif ?>
8
9 <?ifdef Suffix ?>
10 <?undef Suffix ?>
11 <?undef DeferredSuffix ?>
12 <?endif ?>
13
14 <?if $(var.platform)="x86" ?>
15 <?define Suffix="" ?>
16 <?define DeferredSuffix="" ?>
17 <?endif ?>
18
19 <?if $(var.platform)="x64" ?>
20 <?define Suffix="_x64" ?>
21 <?define DeferredSuffix="_64" ?>
22 <?endif ?>
23
24 <?if $(var.platform)="arm" ?>
25 <?define Suffix="_ARM" ?>
26 <?define DeferredSuffix="_ARM" ?>
27 <?endif ?>
28</Include>
diff --git a/src/wixlib/firewall.wixproj b/src/wixlib/firewall.wixproj
index f9260c88..cb273a38 100644
--- a/src/wixlib/firewall.wixproj
+++ b/src/wixlib/firewall.wixproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
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. --> 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<Project DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0"> 3<Project DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0">
4 <Import Project="..\..\packages\WixToolset.MSBuild.4.0.0-build-0086\build\WixToolset.MSBuild.props" Condition="Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0086\build\WixToolset.MSBuild.props')" /> 4 <Import Project="..\..\packages\WixToolset.MSBuild.4.0.0-build-0093\build\WixToolset.MSBuild.props" Condition="Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0093\build\WixToolset.MSBuild.props')" />
5 <Import Project="..\FindLocalWix.props" /> 5 <Import Project="..\FindLocalWix.props" />
6 <PropertyGroup> 6 <PropertyGroup>
7 <ProjectGuid>{1acffefd-505a-41a5-acbf-a02b7b473aa2}</ProjectGuid> 7 <ProjectGuid>{1acffefd-505a-41a5-acbf-a02b7b473aa2}</ProjectGuid>
@@ -13,12 +13,31 @@
13 </PropertyGroup> 13 </PropertyGroup>
14 <ItemGroup> 14 <ItemGroup>
15 <Compile Include="FirewallExtension.wxs" /> 15 <Compile Include="FirewallExtension.wxs" />
16 <Compile Include="FirewallExtension_arm.wxs" />
17 <Compile Include="FirewallExtension_arm64.wxs" />
18 <Compile Include="FirewallExtension_x64.wxs" />
16 <Compile Include="FirewallExtension_x86.wxs" /> 19 <Compile Include="FirewallExtension_x86.wxs" />
17 <EmbeddedResource Include="en-us.wxl" /> 20 <EmbeddedResource Include="en-us.wxl" />
18 <EmbeddedResource Include="es-es.wxl" /> 21 <EmbeddedResource Include="es-es.wxl" />
19 <EmbeddedResource Include="ja-jp.wxl" /> 22 <EmbeddedResource Include="ja-jp.wxl" />
20 <EmbeddedResource Include="pl-pl.wxl" /> 23 <EmbeddedResource Include="pl-pl.wxl" />
21 </ItemGroup> 24 </ItemGroup>
25
26 <ItemGroup>
27 <BindInputPaths Include="$(OutputPath)Win32">
28 <BindName>x86</BindName>
29 </BindInputPaths>
30 <BindInputPaths Include="$(OutputPath)x64)">
31 <BindName>x64</BindName>
32 </BindInputPaths>
33 <BindInputPaths Include="$(OutputPath)arm)">
34 <BindName>arm</BindName>
35 </BindInputPaths>
36 <BindInputPaths Include="$(OutputPath)arm64)">
37 <BindName>arm64</BindName>
38 </BindInputPaths>
39 </ItemGroup>
40
22 <ItemGroup> 41 <ItemGroup>
23 <None Include="packages.config" /> 42 <None Include="packages.config" />
24 </ItemGroup> 43 </ItemGroup>
@@ -26,6 +45,22 @@
26 <ProjectReference Include="..\ca\fwca.vcxproj"> 45 <ProjectReference Include="..\ca\fwca.vcxproj">
27 <Name>fwca</Name> 46 <Name>fwca</Name>
28 <Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project> 47 <Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project>
48 <Properties>Platform=ARM</Properties>
49 </ProjectReference>
50 <ProjectReference Include="..\ca\fwca.vcxproj">
51 <Name>fwca</Name>
52 <Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project>
53 <Properties>Platform=ARM64</Properties>
54 </ProjectReference>
55 <ProjectReference Include="..\ca\fwca.vcxproj">
56 <Name>fwca</Name>
57 <Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project>
58 <Properties>Platform=x86</Properties>
59 </ProjectReference>
60 <ProjectReference Include="..\ca\fwca.vcxproj">
61 <Name>fwca</Name>
62 <Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project>
63 <Properties>Platform=x64</Properties>
29 </ProjectReference> 64 </ProjectReference>
30 </ItemGroup> 65 </ItemGroup>
31 <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' AND Exists('$(WixTargetsPath)') " /> 66 <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' AND Exists('$(WixTargetsPath)') " />
@@ -38,7 +73,7 @@
38 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 73 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
39 </PropertyGroup> 74 </PropertyGroup>
40 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" /> 75 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" />
41 <Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0086\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0086\build\WixToolset.MSBuild.props'))" /> 76 <Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0093\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0093\build\WixToolset.MSBuild.props'))" />
42 </Target> 77 </Target>
43 <Import Project="..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" /> 78 <Import Project="..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" />
44</Project> \ No newline at end of file 79</Project> \ No newline at end of file
diff --git a/src/wixlib/packages.config b/src/wixlib/packages.config
index 1e5a9850..20afb58c 100644
--- a/src/wixlib/packages.config
+++ b/src/wixlib/packages.config
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<packages> 2<packages>
3 <package id="Nerdbank.GitVersioning" version="2.1.65" developmentDependency="true" targetFramework="net40" /> 3 <package id="Nerdbank.GitVersioning" version="2.1.65" developmentDependency="true" targetFramework="net40" />
4 <package id="WixToolset.MSBuild" version="4.0.0-build-0086" developmentDependency="true" targetFramework="net40" /> 4 <package id="WixToolset.MSBuild" version="4.0.0-build-0093" developmentDependency="true" targetFramework="net40" />
5</packages> \ No newline at end of file 5</packages> \ No newline at end of file