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> |
