aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/WixToolsetTest.Http/HttpExtensionFixture.cs15
-rw-r--r--src/test/WixToolsetTest.Http/WixToolsetTest.Http.csproj5
-rw-r--r--src/wixext/HttpCompiler.cs8
-rw-r--r--src/wixext/HttpConstants.cs4
-rw-r--r--src/wixext/Symbols/HandleExisting.cs14
-rw-r--r--src/wixext/Symbols/WixHttpUrlReservationSymbol.cs6
-rw-r--r--src/wixlib/HttpExtension_Platform.wxi18
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
3namespace WixToolsetTest.Http 3namespace 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
3namespace 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 &gt;= 600 OR (VersionNT &gt;= 501 AND ((MsiNTProductType = 1 AND ServicePackLevel &gt;= 2) OR (MsiNTProductType &gt; 1)))" /> 30 <Custom Action="$(var.Prefix)SchedHttpUrlReservationsInstall$(var.Suffix)" After="InstallFiles" Overridable="yes" Condition="VersionNT &gt;= 600 OR (VersionNT &gt;= 501 AND ((MsiNTProductType = 1 AND ServicePackLevel &gt;= 2) OR (MsiNTProductType &gt; 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>