diff options
author | Rob Mensching <rob@firegiant.com> | 2021-04-12 07:43:04 -0700 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2021-04-12 15:34:06 -0700 |
commit | a20bee47c43861dd9f38adb88e74a6417292732b (patch) | |
tree | 0e02edc74c989813e6e70fa4b7d5e29a003744de | |
parent | 7a855a54687d638c6717e3cf9bda1affc76f48ed (diff) | |
download | wix-a20bee47c43861dd9f38adb88e74a6417292732b.tar.gz wix-a20bee47c43861dd9f38adb88e74a6417292732b.tar.bz2 wix-a20bee47c43861dd9f38adb88e74a6417292732b.zip |
Add Wix4 prefix Http CA binary and make HandleExisting an enum
-rw-r--r-- | src/test/WixToolsetTest.Http/HttpExtensionFixture.cs | 15 | ||||
-rw-r--r-- | src/test/WixToolsetTest.Http/WixToolsetTest.Http.csproj | 5 | ||||
-rw-r--r-- | src/wixext/HttpCompiler.cs | 8 | ||||
-rw-r--r-- | src/wixext/HttpConstants.cs | 4 | ||||
-rw-r--r-- | src/wixext/Symbols/HandleExisting.cs | 14 | ||||
-rw-r--r-- | src/wixext/Symbols/WixHttpUrlReservationSymbol.cs | 6 | ||||
-rw-r--r-- | src/wixlib/HttpExtension_Platform.wxi | 18 |
7 files changed, 38 insertions, 32 deletions
diff --git a/src/test/WixToolsetTest.Http/HttpExtensionFixture.cs b/src/test/WixToolsetTest.Http/HttpExtensionFixture.cs index 8cabf4b4..d1a1f565 100644 --- a/src/test/WixToolsetTest.Http/HttpExtensionFixture.cs +++ b/src/test/WixToolsetTest.Http/HttpExtensionFixture.cs | |||
@@ -2,7 +2,6 @@ | |||
2 | 2 | ||
3 | namespace WixToolsetTest.Http | 3 | namespace WixToolsetTest.Http |
4 | { | 4 | { |
5 | using System.Linq; | ||
6 | using WixBuildTools.TestSupport; | 5 | using WixBuildTools.TestSupport; |
7 | using WixToolset.Core.TestPackage; | 6 | using WixToolset.Core.TestPackage; |
8 | using WixToolset.Http; | 7 | using WixToolset.Http; |
@@ -17,14 +16,14 @@ namespace WixToolsetTest.Http | |||
17 | var build = new Builder(folder, typeof(HttpExtensionFactory), new[] { folder }); | 16 | var build = new Builder(folder, typeof(HttpExtensionFactory), new[] { folder }); |
18 | 17 | ||
19 | var results = build.BuildAndQuery(Build, "CustomAction", "WixHttpUrlAce", "WixHttpUrlReservation"); | 18 | var results = build.BuildAndQuery(Build, "CustomAction", "WixHttpUrlAce", "WixHttpUrlReservation"); |
20 | Assert.Equal(new[] | 19 | WixAssert.CompareLineByLine(new[] |
21 | { | 20 | { |
22 | "CustomAction:Wix4ExecHttpUrlReservationsInstall_X86\t3073\tHttpCA_X86\tExecHttpUrlReservations\t", | 21 | "CustomAction:Wix4ExecHttpUrlReservationsInstall_X86\t3073\tWix4HttpCA_X86\tExecHttpUrlReservations\t", |
23 | "CustomAction:Wix4ExecHttpUrlReservationsUninstall_X86\t3073\tHttpCA_X86\tExecHttpUrlReservations\t", | 22 | "CustomAction:Wix4ExecHttpUrlReservationsUninstall_X86\t3073\tWix4HttpCA_X86\tExecHttpUrlReservations\t", |
24 | "CustomAction:Wix4RollbackHttpUrlReservationsInstall_X86\t3329\tHttpCA_X86\tExecHttpUrlReservations\t", | 23 | "CustomAction:Wix4RollbackHttpUrlReservationsInstall_X86\t3329\tWix4HttpCA_X86\tExecHttpUrlReservations\t", |
25 | "CustomAction:Wix4RollbackHttpUrlReservationsUninstall_X86\t3329\tHttpCA_X86\tExecHttpUrlReservations\t", | 24 | "CustomAction:Wix4RollbackHttpUrlReservationsUninstall_X86\t3329\tWix4HttpCA_X86\tExecHttpUrlReservations\t", |
26 | "CustomAction:Wix4SchedHttpUrlReservationsInstall_X86\t1\tHttpCA_X86\tSchedHttpUrlReservationsInstall\t", | 25 | "CustomAction:Wix4SchedHttpUrlReservationsInstall_X86\t1\tWix4HttpCA_X86\tSchedHttpUrlReservationsInstall\t", |
27 | "CustomAction:Wix4SchedHttpUrlReservationsUninstall_X86\t1\tHttpCA_X86\tSchedHttpUrlReservationsUninstall\t", | 26 | "CustomAction:Wix4SchedHttpUrlReservationsUninstall_X86\t1\tWix4HttpCA_X86\tSchedHttpUrlReservationsUninstall\t", |
28 | "WixHttpUrlAce:aceu5os2gQoblRmzwjt85LQf997uD4\turlO23FkY2xzEY54lY6E6sXFW6glXc\tNT SERVICE\\TestService\t268435456", | 27 | "WixHttpUrlAce:aceu5os2gQoblRmzwjt85LQf997uD4\turlO23FkY2xzEY54lY6E6sXFW6glXc\tNT SERVICE\\TestService\t268435456", |
29 | "WixHttpUrlReservation:urlO23FkY2xzEY54lY6E6sXFW6glXc\t0\t\thttp://+:80/vroot/\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo", | 28 | "WixHttpUrlReservation:urlO23FkY2xzEY54lY6E6sXFW6glXc\t0\t\thttp://+:80/vroot/\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo", |
30 | }, results); | 29 | }, results); |
diff --git a/src/test/WixToolsetTest.Http/WixToolsetTest.Http.csproj b/src/test/WixToolsetTest.Http/WixToolsetTest.Http.csproj index dffa83c8..7e60e426 100644 --- a/src/test/WixToolsetTest.Http/WixToolsetTest.Http.csproj +++ b/src/test/WixToolsetTest.Http/WixToolsetTest.Http.csproj | |||
@@ -12,10 +12,7 @@ | |||
12 | </PropertyGroup> | 12 | </PropertyGroup> |
13 | 13 | ||
14 | <ItemGroup> | 14 | <ItemGroup> |
15 | <Content Include="TestData\UsingUrlReservation\example.txt" CopyToOutputDirectory="PreserveNewest" /> | 15 | <Content Include="TestData\**" CopyToOutputDirectory="PreserveNewest" /> |
16 | <Content Include="TestData\UsingUrlReservation\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" /> | ||
17 | <Content Include="TestData\UsingUrlReservation\Package.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
18 | <Content Include="TestData\UsingUrlReservation\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
19 | </ItemGroup> | 16 | </ItemGroup> |
20 | 17 | ||
21 | <ItemGroup> | 18 | <ItemGroup> |
diff --git a/src/wixext/HttpCompiler.cs b/src/wixext/HttpCompiler.cs index e6246619..cb217147 100644 --- a/src/wixext/HttpCompiler.cs +++ b/src/wixext/HttpCompiler.cs | |||
@@ -72,7 +72,7 @@ namespace WixToolset.Http | |||
72 | { | 72 | { |
73 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(node); | 73 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(node); |
74 | Identifier id = null; | 74 | Identifier id = null; |
75 | var handleExisting = HttpConstants.heReplace; | 75 | var handleExisting = HandleExisting.Replace; |
76 | string sddl = null; | 76 | string sddl = null; |
77 | string url = null; | 77 | string url = null; |
78 | var foundACE = false; | 78 | var foundACE = false; |
@@ -91,13 +91,13 @@ namespace WixToolset.Http | |||
91 | switch (handleExistingValue) | 91 | switch (handleExistingValue) |
92 | { | 92 | { |
93 | case "replace": | 93 | case "replace": |
94 | handleExisting = HttpConstants.heReplace; | 94 | handleExisting = HandleExisting.Replace; |
95 | break; | 95 | break; |
96 | case "ignore": | 96 | case "ignore": |
97 | handleExisting = HttpConstants.heIgnore; | 97 | handleExisting = HandleExisting.Ignore; |
98 | break; | 98 | break; |
99 | case "fail": | 99 | case "fail": |
100 | handleExisting = HttpConstants.heFail; | 100 | handleExisting = HandleExisting.Fail; |
101 | break; | 101 | break; |
102 | default: | 102 | default: |
103 | this.Messaging.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "HandleExisting", handleExistingValue, "replace", "ignore", "fail")); | 103 | this.Messaging.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "HandleExisting", handleExistingValue, "replace", "ignore", "fail")); |
diff --git a/src/wixext/HttpConstants.cs b/src/wixext/HttpConstants.cs index 1c96f278..5fb42d86 100644 --- a/src/wixext/HttpConstants.cs +++ b/src/wixext/HttpConstants.cs | |||
@@ -11,9 +11,5 @@ namespace WixToolset.Http | |||
11 | public const int GENERIC_EXECUTE = 0x20000000; | 11 | public const int GENERIC_EXECUTE = 0x20000000; |
12 | public const int GENERIC_WRITE = 0x40000000; | 12 | public const int GENERIC_WRITE = 0x40000000; |
13 | 13 | ||
14 | // from wixhttpca.cpp | ||
15 | public const int heReplace = 0; | ||
16 | public const int heIgnore = 1; | ||
17 | public const int heFail = 2; | ||
18 | } | 14 | } |
19 | } | 15 | } |
diff --git a/src/wixext/Symbols/HandleExisting.cs b/src/wixext/Symbols/HandleExisting.cs new file mode 100644 index 00000000..0d70cebc --- /dev/null +++ b/src/wixext/Symbols/HandleExisting.cs | |||
@@ -0,0 +1,14 @@ | |||
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 | |||
3 | namespace WixToolset.Http.Symbols | ||
4 | { | ||
5 | /// <summary> | ||
6 | /// Must match constants in wixhttpca.cpp | ||
7 | /// </summary> | ||
8 | public enum HandleExisting | ||
9 | { | ||
10 | Replace = 0, | ||
11 | Ignore = 1, | ||
12 | Fail = 2, | ||
13 | } | ||
14 | } | ||
diff --git a/src/wixext/Symbols/WixHttpUrlReservationSymbol.cs b/src/wixext/Symbols/WixHttpUrlReservationSymbol.cs index 4bdc2fee..4aa4a5da 100644 --- a/src/wixext/Symbols/WixHttpUrlReservationSymbol.cs +++ b/src/wixext/Symbols/WixHttpUrlReservationSymbol.cs | |||
@@ -44,10 +44,10 @@ namespace WixToolset.Http.Symbols | |||
44 | 44 | ||
45 | public IntermediateField this[WixHttpUrlReservationSymbolFields index] => this.Fields[(int)index]; | 45 | public IntermediateField this[WixHttpUrlReservationSymbolFields index] => this.Fields[(int)index]; |
46 | 46 | ||
47 | public int HandleExisting | 47 | public HandleExisting HandleExisting |
48 | { | 48 | { |
49 | get => this.Fields[(int)WixHttpUrlReservationSymbolFields.HandleExisting].AsNumber(); | 49 | get => (HandleExisting)this.Fields[(int)WixHttpUrlReservationSymbolFields.HandleExisting].AsNumber(); |
50 | set => this.Set((int)WixHttpUrlReservationSymbolFields.HandleExisting, value); | 50 | set => this.Set((int)WixHttpUrlReservationSymbolFields.HandleExisting, (int)value); |
51 | } | 51 | } |
52 | 52 | ||
53 | public string Sddl | 53 | public string Sddl |
diff --git a/src/wixlib/HttpExtension_Platform.wxi b/src/wixlib/HttpExtension_Platform.wxi index 82d9eed4..2d498862 100644 --- a/src/wixlib/HttpExtension_Platform.wxi +++ b/src/wixlib/HttpExtension_Platform.wxi | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | <Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> | 4 | <Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> |
5 | <?include caDecor.wxi ?> | 5 | <?include caDecor.wxi ?> |
6 | 6 | ||
7 | <Fragment> | 7 | <Fragment> |
8 | <UIRef Id="WixHttpErrors" /> | 8 | <UIRef Id="WixHttpErrors" /> |
9 | <UI> | 9 | <UI> |
@@ -15,12 +15,12 @@ | |||
15 | <ProgressText Action="$(var.Prefix)ExecHttpUrlReservationsUninstall$(var.Suffix)" Message="!(loc.WixExecHttpUrlReservationsUninstall)" /> | 15 | <ProgressText Action="$(var.Prefix)ExecHttpUrlReservationsUninstall$(var.Suffix)" Message="!(loc.WixExecHttpUrlReservationsUninstall)" /> |
16 | </UI> | 16 | </UI> |
17 | 17 | ||
18 | <CustomAction Id="$(var.Prefix)SchedHttpUrlReservationsInstall$(var.Suffix)" DllEntry="SchedHttpUrlReservationsInstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="HttpCA$(var.Suffix)" /> | 18 | <CustomAction Id="$(var.Prefix)SchedHttpUrlReservationsInstall$(var.Suffix)" DllEntry="SchedHttpUrlReservationsInstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)HttpCA$(var.Suffix)" /> |
19 | <CustomAction Id="$(var.Prefix)SchedHttpUrlReservationsUninstall$(var.Suffix)" DllEntry="SchedHttpUrlReservationsUninstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="HttpCA$(var.Suffix)" /> | 19 | <CustomAction Id="$(var.Prefix)SchedHttpUrlReservationsUninstall$(var.Suffix)" DllEntry="SchedHttpUrlReservationsUninstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)HttpCA$(var.Suffix)" /> |
20 | <CustomAction Id="$(var.Prefix)RollbackHttpUrlReservationsInstall$(var.Suffix)" DllEntry="ExecHttpUrlReservations" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" BinaryRef="HttpCA$(var.Suffix)" /> | 20 | <CustomAction Id="$(var.Prefix)RollbackHttpUrlReservationsInstall$(var.Suffix)" DllEntry="ExecHttpUrlReservations" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)HttpCA$(var.Suffix)" /> |
21 | <CustomAction Id="$(var.Prefix)ExecHttpUrlReservationsInstall$(var.Suffix)" DllEntry="ExecHttpUrlReservations" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" BinaryRef="HttpCA$(var.Suffix)" /> | 21 | <CustomAction Id="$(var.Prefix)ExecHttpUrlReservationsInstall$(var.Suffix)" DllEntry="ExecHttpUrlReservations" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)HttpCA$(var.Suffix)" /> |
22 | <CustomAction Id="$(var.Prefix)RollbackHttpUrlReservationsUninstall$(var.Suffix)" DllEntry="ExecHttpUrlReservations" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" BinaryRef="HttpCA$(var.Suffix)" /> | 22 | <CustomAction Id="$(var.Prefix)RollbackHttpUrlReservationsUninstall$(var.Suffix)" DllEntry="ExecHttpUrlReservations" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)HttpCA$(var.Suffix)" /> |
23 | <CustomAction Id="$(var.Prefix)ExecHttpUrlReservationsUninstall$(var.Suffix)" DllEntry="ExecHttpUrlReservations" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" BinaryRef="HttpCA$(var.Suffix)" /> | 23 | <CustomAction Id="$(var.Prefix)ExecHttpUrlReservationsUninstall$(var.Suffix)" DllEntry="ExecHttpUrlReservations" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)HttpCA$(var.Suffix)" /> |
24 | 24 | ||
25 | <!-- | 25 | <!-- |
26 | We need the HTTP server on Windows XP SP2 or later. | 26 | We need the HTTP server on Windows XP SP2 or later. |
@@ -30,8 +30,8 @@ | |||
30 | <Custom Action="$(var.Prefix)SchedHttpUrlReservationsInstall$(var.Suffix)" After="InstallFiles" Overridable="yes" Condition="VersionNT >= 600 OR (VersionNT >= 501 AND ((MsiNTProductType = 1 AND ServicePackLevel >= 2) OR (MsiNTProductType > 1)))" /> | 30 | <Custom Action="$(var.Prefix)SchedHttpUrlReservationsInstall$(var.Suffix)" After="InstallFiles" Overridable="yes" Condition="VersionNT >= 600 OR (VersionNT >= 501 AND ((MsiNTProductType = 1 AND ServicePackLevel >= 2) OR (MsiNTProductType > 1)))" /> |
31 | </InstallExecuteSequence> | 31 | </InstallExecuteSequence> |
32 | </Fragment> | 32 | </Fragment> |
33 | 33 | ||
34 | <Fragment> | 34 | <Fragment> |
35 | <Binary Id="HttpCA$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))httpca.dll" /> | 35 | <Binary Id="$(var.Prefix)HttpCA$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))httpca.dll" /> |
36 | </Fragment> | 36 | </Fragment> |
37 | </Include> | 37 | </Include> |