From a20bee47c43861dd9f38adb88e74a6417292732b Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Mon, 12 Apr 2021 07:43:04 -0700 Subject: Add Wix4 prefix Http CA binary and make HandleExisting an enum --- src/test/WixToolsetTest.Http/HttpExtensionFixture.cs | 15 +++++++-------- .../WixToolsetTest.Http/WixToolsetTest.Http.csproj | 5 +---- src/wixext/HttpCompiler.cs | 8 ++++---- src/wixext/HttpConstants.cs | 4 ---- src/wixext/Symbols/HandleExisting.cs | 14 ++++++++++++++ src/wixext/Symbols/WixHttpUrlReservationSymbol.cs | 6 +++--- src/wixlib/HttpExtension_Platform.wxi | 18 +++++++++--------- 7 files changed, 38 insertions(+), 32 deletions(-) create mode 100644 src/wixext/Symbols/HandleExisting.cs 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 @@ namespace WixToolsetTest.Http { - using System.Linq; using WixBuildTools.TestSupport; using WixToolset.Core.TestPackage; using WixToolset.Http; @@ -17,14 +16,14 @@ namespace WixToolsetTest.Http var build = new Builder(folder, typeof(HttpExtensionFactory), new[] { folder }); var results = build.BuildAndQuery(Build, "CustomAction", "WixHttpUrlAce", "WixHttpUrlReservation"); - Assert.Equal(new[] + WixAssert.CompareLineByLine(new[] { - "CustomAction:Wix4ExecHttpUrlReservationsInstall_X86\t3073\tHttpCA_X86\tExecHttpUrlReservations\t", - "CustomAction:Wix4ExecHttpUrlReservationsUninstall_X86\t3073\tHttpCA_X86\tExecHttpUrlReservations\t", - "CustomAction:Wix4RollbackHttpUrlReservationsInstall_X86\t3329\tHttpCA_X86\tExecHttpUrlReservations\t", - "CustomAction:Wix4RollbackHttpUrlReservationsUninstall_X86\t3329\tHttpCA_X86\tExecHttpUrlReservations\t", - "CustomAction:Wix4SchedHttpUrlReservationsInstall_X86\t1\tHttpCA_X86\tSchedHttpUrlReservationsInstall\t", - "CustomAction:Wix4SchedHttpUrlReservationsUninstall_X86\t1\tHttpCA_X86\tSchedHttpUrlReservationsUninstall\t", + "CustomAction:Wix4ExecHttpUrlReservationsInstall_X86\t3073\tWix4HttpCA_X86\tExecHttpUrlReservations\t", + "CustomAction:Wix4ExecHttpUrlReservationsUninstall_X86\t3073\tWix4HttpCA_X86\tExecHttpUrlReservations\t", + "CustomAction:Wix4RollbackHttpUrlReservationsInstall_X86\t3329\tWix4HttpCA_X86\tExecHttpUrlReservations\t", + "CustomAction:Wix4RollbackHttpUrlReservationsUninstall_X86\t3329\tWix4HttpCA_X86\tExecHttpUrlReservations\t", + "CustomAction:Wix4SchedHttpUrlReservationsInstall_X86\t1\tWix4HttpCA_X86\tSchedHttpUrlReservationsInstall\t", + "CustomAction:Wix4SchedHttpUrlReservationsUninstall_X86\t1\tWix4HttpCA_X86\tSchedHttpUrlReservationsUninstall\t", "WixHttpUrlAce:aceu5os2gQoblRmzwjt85LQf997uD4\turlO23FkY2xzEY54lY6E6sXFW6glXc\tNT SERVICE\\TestService\t268435456", "WixHttpUrlReservation:urlO23FkY2xzEY54lY6E6sXFW6glXc\t0\t\thttp://+:80/vroot/\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo", }, 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 @@ - - - - + 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 { var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(node); Identifier id = null; - var handleExisting = HttpConstants.heReplace; + var handleExisting = HandleExisting.Replace; string sddl = null; string url = null; var foundACE = false; @@ -91,13 +91,13 @@ namespace WixToolset.Http switch (handleExistingValue) { case "replace": - handleExisting = HttpConstants.heReplace; + handleExisting = HandleExisting.Replace; break; case "ignore": - handleExisting = HttpConstants.heIgnore; + handleExisting = HandleExisting.Ignore; break; case "fail": - handleExisting = HttpConstants.heFail; + handleExisting = HandleExisting.Fail; break; default: 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 public const int GENERIC_EXECUTE = 0x20000000; public const int GENERIC_WRITE = 0x40000000; - // from wixhttpca.cpp - public const int heReplace = 0; - public const int heIgnore = 1; - public const int heFail = 2; } } 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 @@ +// 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. + +namespace WixToolset.Http.Symbols +{ + /// + /// Must match constants in wixhttpca.cpp + /// + public enum HandleExisting + { + Replace = 0, + Ignore = 1, + Fail = 2, + } +} 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 public IntermediateField this[WixHttpUrlReservationSymbolFields index] => this.Fields[(int)index]; - public int HandleExisting + public HandleExisting HandleExisting { - get => this.Fields[(int)WixHttpUrlReservationSymbolFields.HandleExisting].AsNumber(); - set => this.Set((int)WixHttpUrlReservationSymbolFields.HandleExisting, value); + get => (HandleExisting)this.Fields[(int)WixHttpUrlReservationSymbolFields.HandleExisting].AsNumber(); + set => this.Set((int)WixHttpUrlReservationSymbolFields.HandleExisting, (int)value); } 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 @@ - + @@ -15,12 +15,12 @@ - - - - - - + + + + + +