diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-04-05 21:01:32 +1000 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-04-05 21:48:37 +1000 |
commit | ba3a735e21086722c64caa001d618e5505a2e656 (patch) | |
tree | 46eb62b56152b2a5d19998f4bca157742cfc4b4d /src | |
parent | 98eb2a20bb786ec2d2ee4b9bb02e33477d0215c2 (diff) | |
download | wix-ba3a735e21086722c64caa001d618e5505a2e656.tar.gz wix-ba3a735e21086722c64caa001d618e5505a2e656.tar.bz2 wix-ba3a735e21086722c64caa001d618e5505a2e656.zip |
Modernize IIsCompiler and tuples.
Diffstat (limited to 'src')
24 files changed, 807 insertions, 848 deletions
diff --git a/src/test/WixToolsetTest.Iis/WixToolsetTest.Iis.csproj b/src/test/WixToolsetTest.Iis/WixToolsetTest.Iis.csproj index 66e4edc6..49ed89bc 100644 --- a/src/test/WixToolsetTest.Iis/WixToolsetTest.Iis.csproj +++ b/src/test/WixToolsetTest.Iis/WixToolsetTest.Iis.csproj | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | <Project Sdk="Microsoft.NET.Sdk"> | 4 | <Project Sdk="Microsoft.NET.Sdk"> |
5 | <PropertyGroup> | 5 | <PropertyGroup> |
6 | <TargetFramework>netcoreapp2.1</TargetFramework> | 6 | <TargetFramework>netcoreapp3.1</TargetFramework> |
7 | <IsPackable>false</IsPackable> | 7 | <IsPackable>false</IsPackable> |
8 | </PropertyGroup> | 8 | </PropertyGroup> |
9 | 9 | ||
diff --git a/src/wixext/IIsCompiler.cs b/src/wixext/IIsCompiler.cs index e28435b6..f84f8f0a 100644 --- a/src/wixext/IIsCompiler.cs +++ b/src/wixext/IIsCompiler.cs | |||
@@ -8,6 +8,7 @@ namespace WixToolset.Iis | |||
8 | using System.Xml.Linq; | 8 | using System.Xml.Linq; |
9 | using WixToolset.Data; | 9 | using WixToolset.Data; |
10 | using WixToolset.Extensibility; | 10 | using WixToolset.Extensibility; |
11 | using WixToolset.Iis.Tuples; | ||
11 | 12 | ||
12 | /// <summary> | 13 | /// <summary> |
13 | /// The compiler for the WiX Toolset Internet Information Services Extension. | 14 | /// The compiler for the WiX Toolset Internet Information Services Extension. |
@@ -64,8 +65,8 @@ namespace WixToolset.Iis | |||
64 | switch (parentElement.Name.LocalName) | 65 | switch (parentElement.Name.LocalName) |
65 | { | 66 | { |
66 | case "Component": | 67 | case "Component": |
67 | string componentId = context["ComponentId"]; | 68 | var componentId = context["ComponentId"]; |
68 | string directoryId = context["DirectoryId"]; | 69 | var directoryId = context["DirectoryId"]; |
69 | 70 | ||
70 | switch (element.Name.LocalName) | 71 | switch (element.Name.LocalName) |
71 | { | 72 | { |
@@ -110,7 +111,7 @@ namespace WixToolset.Iis | |||
110 | this.ParseWebAppPoolElement(intermediate, section, element, null); | 111 | this.ParseWebAppPoolElement(intermediate, section, element, null); |
111 | break; | 112 | break; |
112 | case "WebDirProperties": | 113 | case "WebDirProperties": |
113 | this.ParseWebDirPropertiesElement(intermediate, section, element); | 114 | this.ParseWebDirPropertiesElement(intermediate, section, element, null); |
114 | break; | 115 | break; |
115 | case "WebLog": | 116 | case "WebLog": |
116 | this.ParseWebLogElement(intermediate, section, element); | 117 | this.ParseWebLogElement(intermediate, section, element); |
@@ -136,7 +137,7 @@ namespace WixToolset.Iis | |||
136 | /// <param name="componentId">Identifier for parent component.</param> | 137 | /// <param name="componentId">Identifier for parent component.</param> |
137 | private void ParseCertificateElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) | 138 | private void ParseCertificateElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) |
138 | { | 139 | { |
139 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 140 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
140 | Identifier id = null; | 141 | Identifier id = null; |
141 | int attributes = 0; | 142 | int attributes = 0; |
142 | string binaryKey = null; | 143 | string binaryKey = null; |
@@ -146,7 +147,7 @@ namespace WixToolset.Iis | |||
146 | int storeLocation = 0; | 147 | int storeLocation = 0; |
147 | string storeName = null; | 148 | string storeName = null; |
148 | 149 | ||
149 | foreach (XAttribute attrib in element.Attributes()) | 150 | foreach (var attrib in element.Attributes()) |
150 | { | 151 | { |
151 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 152 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
152 | { | 153 | { |
@@ -158,7 +159,7 @@ namespace WixToolset.Iis | |||
158 | case "BinaryKey": | 159 | case "BinaryKey": |
159 | attributes |= 2; // SCA_CERT_ATTRIBUTE_BINARYDATA | 160 | attributes |= 2; // SCA_CERT_ATTRIBUTE_BINARYDATA |
160 | binaryKey = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 161 | binaryKey = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
161 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "Binary", binaryKey); | 162 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.Binary, binaryKey); |
162 | break; | 163 | break; |
163 | case "CertificatePath": | 164 | case "CertificatePath": |
164 | certificatePath = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 165 | certificatePath = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -190,7 +191,7 @@ namespace WixToolset.Iis | |||
190 | } | 191 | } |
191 | break; | 192 | break; |
192 | case "StoreLocation": | 193 | case "StoreLocation": |
193 | string storeLocationValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 194 | var storeLocationValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
194 | if (0 < storeLocationValue.Length) | 195 | if (0 < storeLocationValue.Length) |
195 | { | 196 | { |
196 | switch (storeLocationValue) | 197 | switch (storeLocationValue) |
@@ -209,7 +210,7 @@ namespace WixToolset.Iis | |||
209 | } | 210 | } |
210 | break; | 211 | break; |
211 | case "StoreName": | 212 | case "StoreName": |
212 | string storeNameValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 213 | var storeNameValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
213 | if (0 < storeNameValue.Length) | 214 | if (0 < storeNameValue.Length) |
214 | { | 215 | { |
215 | switch (storeNameValue) | 216 | switch (storeNameValue) |
@@ -256,7 +257,7 @@ namespace WixToolset.Iis | |||
256 | 257 | ||
257 | if (null == id) | 258 | if (null == id) |
258 | { | 259 | { |
259 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 260 | id = this.ParseHelper.CreateIdentifier("crt", componentId, binaryKey, certificatePath); |
260 | } | 261 | } |
261 | 262 | ||
262 | if (null == name) | 263 | if (null == name) |
@@ -286,21 +287,23 @@ namespace WixToolset.Iis | |||
286 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 287 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
287 | 288 | ||
288 | // Reference InstallCertificates and UninstallCertificates since nothing will happen without them | 289 | // Reference InstallCertificates and UninstallCertificates since nothing will happen without them |
289 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "InstallCertificates"); | 290 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "InstallCertificates"); |
290 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "UninstallCertificates"); | 291 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "UninstallCertificates"); |
291 | this.ParseHelper.EnsureTable(section, sourceLineNumbers, "CertificateHash"); // Certificate CustomActions require the CertificateHash table | 292 | this.ParseHelper.EnsureTable(section, sourceLineNumbers, IisTableDefinitions.CertificateHash); // Certificate CustomActions require the CertificateHash table |
292 | 293 | ||
293 | if (!this.Messaging.EncounteredError) | 294 | if (!this.Messaging.EncounteredError) |
294 | { | 295 | { |
295 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "Certificate", id); | 296 | section.AddTuple(new CertificateTuple(sourceLineNumbers, id) |
296 | row.Set(1, componentId); | 297 | { |
297 | row.Set(2, name); | 298 | ComponentRef = componentId, |
298 | row.Set(3, storeLocation); | 299 | Name = name, |
299 | row.Set(4, storeName); | 300 | StoreLocation = storeLocation, |
300 | row.Set(5, attributes); | 301 | StoreName = storeName, |
301 | row.Set(6, binaryKey); | 302 | Attributes = attributes, |
302 | row.Set(7, certificatePath); | 303 | BinaryRef = binaryKey, |
303 | row.Set(8, pfxPassword); | 304 | CertificatePath = certificatePath, |
305 | PFXPassword = pfxPassword, | ||
306 | }); | ||
304 | } | 307 | } |
305 | } | 308 | } |
306 | 309 | ||
@@ -311,10 +314,10 @@ namespace WixToolset.Iis | |||
311 | /// <param name="webId">Identifier for parent web site.</param> | 314 | /// <param name="webId">Identifier for parent web site.</param> |
312 | private void ParseCertificateRefElement(Intermediate intermediate, IntermediateSection section, XElement element, string webId) | 315 | private void ParseCertificateRefElement(Intermediate intermediate, IntermediateSection section, XElement element, string webId) |
313 | { | 316 | { |
314 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 317 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
315 | Identifier id = null; | 318 | Identifier id = null; |
316 | 319 | ||
317 | foreach (XAttribute attrib in element.Attributes()) | 320 | foreach (var attrib in element.Attributes()) |
318 | { | 321 | { |
319 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 322 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
320 | { | 323 | { |
@@ -322,7 +325,7 @@ namespace WixToolset.Iis | |||
322 | { | 325 | { |
323 | case "Id": | 326 | case "Id": |
324 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); | 327 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); |
325 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "Certificate", id.Id); | 328 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.Certificate, id.Id); |
326 | break; | 329 | break; |
327 | default: | 330 | default: |
328 | this.ParseHelper.UnexpectedAttribute(element, attrib); | 331 | this.ParseHelper.UnexpectedAttribute(element, attrib); |
@@ -337,18 +340,20 @@ namespace WixToolset.Iis | |||
337 | 340 | ||
338 | if (null == id) | 341 | if (null == id) |
339 | { | 342 | { |
340 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 343 | id = this.ParseHelper.CreateIdentifier("wsc", webId); |
341 | } | 344 | } |
342 | 345 | ||
343 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 346 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
344 | 347 | ||
345 | if (!this.Messaging.EncounteredError) | 348 | if (!this.Messaging.EncounteredError) |
346 | { | 349 | { |
347 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "Certificate", id.Id); | 350 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.Certificate, id.Id); |
348 | 351 | ||
349 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebSiteCertificates"); | 352 | section.AddTuple(new IIsWebSiteCertificatesTuple(sourceLineNumbers) |
350 | row.Set(0, webId); | 353 | { |
351 | row.Set(1, id.Id); | 354 | WebRef = webId, |
355 | CertificateRef = id.Id, | ||
356 | }); | ||
352 | } | 357 | } |
353 | } | 358 | } |
354 | 359 | ||
@@ -360,12 +365,12 @@ namespace WixToolset.Iis | |||
360 | /// <param name="parentType">Type that parentId refers to.</param> | 365 | /// <param name="parentType">Type that parentId refers to.</param> |
361 | private void ParseMimeMapElement(Intermediate intermediate, IntermediateSection section, XElement element, string parentId, MimeMapParentType parentType) | 366 | private void ParseMimeMapElement(Intermediate intermediate, IntermediateSection section, XElement element, string parentId, MimeMapParentType parentType) |
362 | { | 367 | { |
363 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 368 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
364 | Identifier id = null; | 369 | Identifier id = null; |
365 | string extension = null; | 370 | string extension = null; |
366 | string type = null; | 371 | string type = null; |
367 | 372 | ||
368 | foreach (XAttribute attrib in element.Attributes()) | 373 | foreach (var attrib in element.Attributes()) |
369 | { | 374 | { |
370 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 375 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
371 | { | 376 | { |
@@ -393,7 +398,7 @@ namespace WixToolset.Iis | |||
393 | 398 | ||
394 | if (null == id) | 399 | if (null == id) |
395 | { | 400 | { |
396 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 401 | id = this.ParseHelper.CreateIdentifier("imm", parentId, type, extension); |
397 | } | 402 | } |
398 | 403 | ||
399 | if (null == extension) | 404 | if (null == extension) |
@@ -417,11 +422,13 @@ namespace WixToolset.Iis | |||
417 | 422 | ||
418 | if (!this.Messaging.EncounteredError) | 423 | if (!this.Messaging.EncounteredError) |
419 | { | 424 | { |
420 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsMimeMap", id); | 425 | section.AddTuple(new IIsMimeMapTuple(sourceLineNumbers, id) |
421 | row.Set(1, (int)parentType); | 426 | { |
422 | row.Set(2, parentId); | 427 | ParentType = (int)parentType, |
423 | row.Set(3, type); | 428 | ParentValue = parentId, |
424 | row.Set(4, extension); | 429 | MimeType = type, |
430 | Extension = extension, | ||
431 | }); | ||
425 | } | 432 | } |
426 | } | 433 | } |
427 | 434 | ||
@@ -432,10 +439,10 @@ namespace WixToolset.Iis | |||
432 | /// <returns>Recycle time value.</returns> | 439 | /// <returns>Recycle time value.</returns> |
433 | private string ParseRecycleTimeElement(Intermediate intermediate, IntermediateSection section, XElement element) | 440 | private string ParseRecycleTimeElement(Intermediate intermediate, IntermediateSection section, XElement element) |
434 | { | 441 | { |
435 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 442 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
436 | string value = null; | 443 | string value = null; |
437 | 444 | ||
438 | foreach (XAttribute attrib in element.Attributes()) | 445 | foreach (var attrib in element.Attributes()) |
439 | { | 446 | { |
440 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 447 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
441 | { | 448 | { |
@@ -473,14 +480,14 @@ namespace WixToolset.Iis | |||
473 | /// <returns>Identifier for web address.</returns> | 480 | /// <returns>Identifier for web address.</returns> |
474 | private string ParseWebAddressElement(Intermediate intermediate, IntermediateSection section, XElement element, string parentWeb) | 481 | private string ParseWebAddressElement(Intermediate intermediate, IntermediateSection section, XElement element, string parentWeb) |
475 | { | 482 | { |
476 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 483 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
477 | Identifier id = null; | 484 | Identifier id = null; |
478 | string header = null; | 485 | string header = null; |
479 | string ip = null; | 486 | string ip = null; |
480 | string port = null; | 487 | string port = null; |
481 | bool secure = false; | 488 | var secure = false; |
482 | 489 | ||
483 | foreach (XAttribute attrib in element.Attributes()) | 490 | foreach (var attrib in element.Attributes()) |
484 | { | 491 | { |
485 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 492 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
486 | { | 493 | { |
@@ -514,7 +521,7 @@ namespace WixToolset.Iis | |||
514 | 521 | ||
515 | if (null == id) | 522 | if (null == id) |
516 | { | 523 | { |
517 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 524 | id = this.ParseHelper.CreateIdentifier("iwa", parentWeb, ip, port); |
518 | } | 525 | } |
519 | 526 | ||
520 | if (null == port) | 527 | if (null == port) |
@@ -526,12 +533,14 @@ namespace WixToolset.Iis | |||
526 | 533 | ||
527 | if (!this.Messaging.EncounteredError) | 534 | if (!this.Messaging.EncounteredError) |
528 | { | 535 | { |
529 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebAddress", id); | 536 | section.AddTuple(new IIsWebAddressTuple(sourceLineNumbers, id) |
530 | row.Set(1, parentWeb); | 537 | { |
531 | row.Set(2, ip); | 538 | WebRef = parentWeb, |
532 | row.Set(3, port); | 539 | IP = ip, |
533 | row.Set(4, header); | 540 | Port = port, |
534 | row.Set(5, secure ? 1 : 0); | 541 | Header = header, |
542 | Secure = secure ? 1 : 0, | ||
543 | }); | ||
535 | } | 544 | } |
536 | 545 | ||
537 | return id?.Id; | 546 | return id?.Id; |
@@ -544,21 +553,21 @@ namespace WixToolset.Iis | |||
544 | /// <returns>Identifier for web application.</returns> | 553 | /// <returns>Identifier for web application.</returns> |
545 | private string ParseWebApplicationElement(Intermediate intermediate, IntermediateSection section, XElement element) | 554 | private string ParseWebApplicationElement(Intermediate intermediate, IntermediateSection section, XElement element) |
546 | { | 555 | { |
547 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 556 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
548 | Identifier id = null; | 557 | Identifier id = null; |
549 | YesNoDefaultType allowSessions = YesNoDefaultType.Default; | 558 | var allowSessions = YesNoDefaultType.Default; |
550 | string appPool = null; | 559 | string appPool = null; |
551 | YesNoDefaultType buffer = YesNoDefaultType.Default; | 560 | var buffer = YesNoDefaultType.Default; |
552 | YesNoDefaultType clientDebugging = YesNoDefaultType.Default; | 561 | var clientDebugging = YesNoDefaultType.Default; |
553 | string defaultScript = null; | 562 | string defaultScript = null; |
554 | int isolation = 0; | 563 | int isolation = 0; |
555 | string name = null; | 564 | string name = null; |
556 | YesNoDefaultType parentPaths = YesNoDefaultType.Default; | 565 | var parentPaths = YesNoDefaultType.Default; |
557 | int scriptTimeout = CompilerConstants.IntegerNotSet; | 566 | var scriptTimeout = CompilerConstants.IntegerNotSet; |
558 | int sessionTimeout = CompilerConstants.IntegerNotSet; | 567 | var sessionTimeout = CompilerConstants.IntegerNotSet; |
559 | YesNoDefaultType serverDebugging = YesNoDefaultType.Default; | 568 | var serverDebugging = YesNoDefaultType.Default; |
560 | 569 | ||
561 | foreach (XAttribute attrib in element.Attributes()) | 570 | foreach (var attrib in element.Attributes()) |
562 | { | 571 | { |
563 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 572 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
564 | { | 573 | { |
@@ -630,7 +639,7 @@ namespace WixToolset.Iis | |||
630 | break; | 639 | break; |
631 | case "WebAppPool": | 640 | case "WebAppPool": |
632 | appPool = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 641 | appPool = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
633 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsAppPool", appPool); | 642 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsAppPool, appPool); |
634 | break; | 643 | break; |
635 | default: | 644 | default: |
636 | this.ParseHelper.UnexpectedAttribute(element, attrib); | 645 | this.ParseHelper.UnexpectedAttribute(element, attrib); |
@@ -645,7 +654,7 @@ namespace WixToolset.Iis | |||
645 | 654 | ||
646 | if (null == id) | 655 | if (null == id) |
647 | { | 656 | { |
648 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 657 | id = this.ParseHelper.CreateIdentifier("wap", name, appPool); |
649 | } | 658 | } |
650 | 659 | ||
651 | if (null == name) | 660 | if (null == name) |
@@ -657,11 +666,10 @@ namespace WixToolset.Iis | |||
657 | this.Messaging.Write(IIsErrors.IllegalCharacterInAttributeValue(sourceLineNumbers, element.Name.LocalName, "Name", name, '\\')); | 666 | this.Messaging.Write(IIsErrors.IllegalCharacterInAttributeValue(sourceLineNumbers, element.Name.LocalName, "Name", name, '\\')); |
658 | } | 667 | } |
659 | 668 | ||
660 | foreach (XElement child in element.Elements()) | 669 | foreach (var child in element.Elements()) |
661 | { | 670 | { |
662 | if (this.Namespace == child.Name.Namespace) | 671 | if (this.Namespace == child.Name.Namespace) |
663 | { | 672 | { |
664 | SourceLineNumber childSourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(child); | ||
665 | switch (child.Name.LocalName) | 673 | switch (child.Name.LocalName) |
666 | { | 674 | { |
667 | case "WebApplicationExtension": | 675 | case "WebApplicationExtension": |
@@ -680,44 +688,48 @@ namespace WixToolset.Iis | |||
680 | 688 | ||
681 | if (!this.Messaging.EncounteredError) | 689 | if (!this.Messaging.EncounteredError) |
682 | { | 690 | { |
683 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebApplication", id); | 691 | var tuple = section.AddTuple(new IIsWebApplicationTuple(sourceLineNumbers, id) |
684 | row.Set(1, name); | 692 | { |
685 | row.Set(2, isolation); | 693 | Name = name, |
694 | Isolation = isolation, | ||
695 | DefaultScript = defaultScript, | ||
696 | AppPoolRef = appPool, | ||
697 | }); | ||
698 | |||
686 | if (YesNoDefaultType.Default != allowSessions) | 699 | if (YesNoDefaultType.Default != allowSessions) |
687 | { | 700 | { |
688 | row.Set(3, YesNoDefaultType.Yes == allowSessions ? 1 : 0); | 701 | tuple.AllowSessions = YesNoDefaultType.Yes == allowSessions ? 1 : 0; |
689 | } | 702 | } |
690 | 703 | ||
691 | if (CompilerConstants.IntegerNotSet != sessionTimeout) | 704 | if (CompilerConstants.IntegerNotSet != sessionTimeout) |
692 | { | 705 | { |
693 | row.Set(4, sessionTimeout); | 706 | tuple.SessionTimeout = sessionTimeout; |
694 | } | 707 | } |
695 | 708 | ||
696 | if (YesNoDefaultType.Default != buffer) | 709 | if (YesNoDefaultType.Default != buffer) |
697 | { | 710 | { |
698 | row.Set(5, YesNoDefaultType.Yes == buffer ? 1 : 0); | 711 | tuple.Buffer = YesNoDefaultType.Yes == buffer ? 1 : 0; |
699 | } | 712 | } |
700 | 713 | ||
701 | if (YesNoDefaultType.Default != parentPaths) | 714 | if (YesNoDefaultType.Default != parentPaths) |
702 | { | 715 | { |
703 | row.Set(6, YesNoDefaultType.Yes == parentPaths ? 1 : 0); | 716 | tuple.ParentPaths = YesNoDefaultType.Yes == parentPaths ? 1 : 0; |
704 | } | 717 | } |
705 | row.Set(7, defaultScript); | 718 | |
706 | if (CompilerConstants.IntegerNotSet != scriptTimeout) | 719 | if (CompilerConstants.IntegerNotSet != scriptTimeout) |
707 | { | 720 | { |
708 | row.Set(8, scriptTimeout); | 721 | tuple.ScriptTimeout = scriptTimeout; |
709 | } | 722 | } |
710 | 723 | ||
711 | if (YesNoDefaultType.Default != serverDebugging) | 724 | if (YesNoDefaultType.Default != serverDebugging) |
712 | { | 725 | { |
713 | row.Set(9, YesNoDefaultType.Yes == serverDebugging ? 1 : 0); | 726 | tuple.ServerDebugging = YesNoDefaultType.Yes == serverDebugging ? 1 : 0; |
714 | } | 727 | } |
715 | 728 | ||
716 | if (YesNoDefaultType.Default != clientDebugging) | 729 | if (YesNoDefaultType.Default != clientDebugging) |
717 | { | 730 | { |
718 | row.Set(10, YesNoDefaultType.Yes == clientDebugging ? 1 : 0); | 731 | tuple.ClientDebugging = YesNoDefaultType.Yes == clientDebugging ? 1 : 0; |
719 | } | 732 | } |
720 | row.Set(11, appPool); | ||
721 | } | 733 | } |
722 | 734 | ||
723 | return id?.Id; | 735 | return id?.Id; |
@@ -730,13 +742,13 @@ namespace WixToolset.Iis | |||
730 | /// <param name="application">Identifier for parent web application.</param> | 742 | /// <param name="application">Identifier for parent web application.</param> |
731 | private void ParseWebApplicationExtensionElement(Intermediate intermediate, IntermediateSection section, XElement element, string application) | 743 | private void ParseWebApplicationExtensionElement(Intermediate intermediate, IntermediateSection section, XElement element, string application) |
732 | { | 744 | { |
733 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 745 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
734 | int attributes = 0; | 746 | int attributes = 0; |
735 | string executable = null; | 747 | string executable = null; |
736 | string extension = null; | 748 | string extension = null; |
737 | string verbs = null; | 749 | string verbs = null; |
738 | 750 | ||
739 | foreach (XAttribute attrib in element.Attributes()) | 751 | foreach (var attrib in element.Attributes()) |
740 | { | 752 | { |
741 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 753 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
742 | { | 754 | { |
@@ -786,14 +798,17 @@ namespace WixToolset.Iis | |||
786 | 798 | ||
787 | if (!this.Messaging.EncounteredError) | 799 | if (!this.Messaging.EncounteredError) |
788 | { | 800 | { |
789 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebApplicationExtension"); | 801 | var tuple = section.AddTuple(new IIsWebApplicationExtensionTuple(sourceLineNumbers) |
790 | row.Set(0, application); | 802 | { |
791 | row.Set(1, extension); | 803 | ApplicationRef = application, |
792 | row.Set(2, verbs); | 804 | Extension = extension, |
793 | row.Set(3, executable); | 805 | Verbs = verbs, |
806 | Executable = executable, | ||
807 | }); | ||
808 | |||
794 | if (0 < attributes) | 809 | if (0 < attributes) |
795 | { | 810 | { |
796 | row.Set(4, attributes); | 811 | tuple.Attributes = attributes; |
797 | } | 812 | } |
798 | } | 813 | } |
799 | } | 814 | } |
@@ -805,27 +820,27 @@ namespace WixToolset.Iis | |||
805 | /// <param name="componentId">Optional identifier of parent component.</param> | 820 | /// <param name="componentId">Optional identifier of parent component.</param> |
806 | private void ParseWebAppPoolElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) | 821 | private void ParseWebAppPoolElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) |
807 | { | 822 | { |
808 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 823 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
809 | Identifier id = null; | 824 | Identifier id = null; |
810 | int attributes = 0; | 825 | int attributes = 0; |
811 | int cpuAction = CompilerConstants.IntegerNotSet; | 826 | var cpuAction = CompilerConstants.IntegerNotSet; |
812 | string cpuMon = null; | 827 | string cpuMon = null; |
813 | int idleTimeout = CompilerConstants.IntegerNotSet; | 828 | var idleTimeout = CompilerConstants.IntegerNotSet; |
814 | int maxCpuUsage = 0; | 829 | int maxCpuUsage = 0; |
815 | int maxWorkerProcs = CompilerConstants.IntegerNotSet; | 830 | var maxWorkerProcs = CompilerConstants.IntegerNotSet; |
816 | string managedRuntimeVersion = null; | 831 | string managedRuntimeVersion = null; |
817 | string managedPipelineMode = null; | 832 | string managedPipelineMode = null; |
818 | string name = null; | 833 | string name = null; |
819 | int privateMemory = CompilerConstants.IntegerNotSet; | 834 | var privateMemory = CompilerConstants.IntegerNotSet; |
820 | int queueLimit = CompilerConstants.IntegerNotSet; | 835 | var queueLimit = CompilerConstants.IntegerNotSet; |
821 | int recycleMinutes = CompilerConstants.IntegerNotSet; | 836 | var recycleMinutes = CompilerConstants.IntegerNotSet; |
822 | int recycleRequests = CompilerConstants.IntegerNotSet; | 837 | var recycleRequests = CompilerConstants.IntegerNotSet; |
823 | string recycleTimes = null; | 838 | string recycleTimes = null; |
824 | int refreshCpu = CompilerConstants.IntegerNotSet; | 839 | var refreshCpu = CompilerConstants.IntegerNotSet; |
825 | string user = null; | 840 | string user = null; |
826 | int virtualMemory = CompilerConstants.IntegerNotSet; | 841 | var virtualMemory = CompilerConstants.IntegerNotSet; |
827 | 842 | ||
828 | foreach (XAttribute attrib in element.Attributes()) | 843 | foreach (var attrib in element.Attributes()) |
829 | { | 844 | { |
830 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 845 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
831 | { | 846 | { |
@@ -840,7 +855,7 @@ namespace WixToolset.Iis | |||
840 | this.Messaging.Write(IIsErrors.IllegalAttributeWithoutComponent(sourceLineNumbers, element.Name.LocalName, attrib.Name.LocalName)); | 855 | this.Messaging.Write(IIsErrors.IllegalAttributeWithoutComponent(sourceLineNumbers, element.Name.LocalName, attrib.Name.LocalName)); |
841 | } | 856 | } |
842 | 857 | ||
843 | string cpuActionValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 858 | var cpuActionValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
844 | if (0 < cpuActionValue.Length) | 859 | if (0 < cpuActionValue.Length) |
845 | { | 860 | { |
846 | switch (cpuActionValue) | 861 | switch (cpuActionValue) |
@@ -863,7 +878,7 @@ namespace WixToolset.Iis | |||
863 | this.Messaging.Write(IIsErrors.IllegalAttributeWithoutComponent(sourceLineNumbers, element.Name.LocalName, attrib.Name.LocalName)); | 878 | this.Messaging.Write(IIsErrors.IllegalAttributeWithoutComponent(sourceLineNumbers, element.Name.LocalName, attrib.Name.LocalName)); |
864 | } | 879 | } |
865 | 880 | ||
866 | string identityValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 881 | var identityValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
867 | if (0 < identityValue.Length) | 882 | if (0 < identityValue.Length) |
868 | { | 883 | { |
869 | switch (identityValue) | 884 | switch (identityValue) |
@@ -1029,7 +1044,7 @@ namespace WixToolset.Iis | |||
1029 | 1044 | ||
1030 | if (null == id) | 1045 | if (null == id) |
1031 | { | 1046 | { |
1032 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 1047 | id = this.ParseHelper.CreateIdentifier("iap", name, componentId, user); |
1033 | } | 1048 | } |
1034 | 1049 | ||
1035 | if (null == name) | 1050 | if (null == name) |
@@ -1057,7 +1072,7 @@ namespace WixToolset.Iis | |||
1057 | } | 1072 | } |
1058 | } | 1073 | } |
1059 | 1074 | ||
1060 | foreach (XElement child in element.Elements()) | 1075 | foreach (var child in element.Elements()) |
1061 | { | 1076 | { |
1062 | if (this.Namespace == child.Name.Namespace) | 1077 | if (this.Namespace == child.Name.Namespace) |
1063 | { | 1078 | { |
@@ -1066,7 +1081,7 @@ namespace WixToolset.Iis | |||
1066 | case "RecycleTime": | 1081 | case "RecycleTime": |
1067 | if (null == componentId) | 1082 | if (null == componentId) |
1068 | { | 1083 | { |
1069 | SourceLineNumber childSourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(child); | 1084 | var childSourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(child); |
1070 | this.Messaging.Write(IIsErrors.IllegalElementWithoutComponent(childSourceLineNumbers, element.Name.LocalName)); | 1085 | this.Messaging.Write(IIsErrors.IllegalElementWithoutComponent(childSourceLineNumbers, element.Name.LocalName)); |
1071 | } | 1086 | } |
1072 | 1087 | ||
@@ -1093,52 +1108,57 @@ namespace WixToolset.Iis | |||
1093 | if (null != componentId) | 1108 | if (null != componentId) |
1094 | { | 1109 | { |
1095 | // Reference ConfigureIIs since nothing will happen without it | 1110 | // Reference ConfigureIIs since nothing will happen without it |
1096 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureIIs"); | 1111 | this.AddReferenceToConfigureIIs(section, sourceLineNumbers); |
1097 | } | 1112 | } |
1098 | 1113 | ||
1099 | if (!this.Messaging.EncounteredError) | 1114 | if (!this.Messaging.EncounteredError) |
1100 | { | 1115 | { |
1101 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsAppPool", id); | 1116 | var tuple = section.AddTuple(new IIsAppPoolTuple(sourceLineNumbers, id) |
1102 | row.Set(1, name); | 1117 | { |
1103 | row.Set(2, componentId); | 1118 | Name = name, |
1104 | row.Set(3, attributes); | 1119 | ComponentRef = componentId, |
1105 | row.Set(4, user); | 1120 | Attributes = attributes, |
1121 | UserRef = user, | ||
1122 | RecycleTimes = recycleTimes, | ||
1123 | CPUMon = cpuMon, | ||
1124 | ManagedRuntimeVersion = managedRuntimeVersion, | ||
1125 | ManagedPipelineMode = managedPipelineMode, | ||
1126 | }); | ||
1127 | |||
1106 | if (CompilerConstants.IntegerNotSet != recycleMinutes) | 1128 | if (CompilerConstants.IntegerNotSet != recycleMinutes) |
1107 | { | 1129 | { |
1108 | row.Set(5, recycleMinutes); | 1130 | tuple.RecycleMinutes = recycleMinutes; |
1109 | } | 1131 | } |
1110 | 1132 | ||
1111 | if (CompilerConstants.IntegerNotSet != recycleRequests) | 1133 | if (CompilerConstants.IntegerNotSet != recycleRequests) |
1112 | { | 1134 | { |
1113 | row.Set(6, recycleRequests); | 1135 | tuple.RecycleRequests = recycleRequests; |
1114 | } | 1136 | } |
1115 | row.Set(7, recycleTimes); | 1137 | |
1116 | if (CompilerConstants.IntegerNotSet != idleTimeout) | 1138 | if (CompilerConstants.IntegerNotSet != idleTimeout) |
1117 | { | 1139 | { |
1118 | row.Set(8, idleTimeout); | 1140 | tuple.IdleTimeout = idleTimeout; |
1119 | } | 1141 | } |
1120 | 1142 | ||
1121 | if (CompilerConstants.IntegerNotSet != queueLimit) | 1143 | if (CompilerConstants.IntegerNotSet != queueLimit) |
1122 | { | 1144 | { |
1123 | row.Set(9, queueLimit); | 1145 | tuple.QueueLimit = queueLimit; |
1124 | } | 1146 | } |
1125 | row.Set(10, cpuMon); | 1147 | |
1126 | if (CompilerConstants.IntegerNotSet != maxWorkerProcs) | 1148 | if (CompilerConstants.IntegerNotSet != maxWorkerProcs) |
1127 | { | 1149 | { |
1128 | row.Set(11, maxWorkerProcs); | 1150 | tuple.MaxProc = maxWorkerProcs; |
1129 | } | 1151 | } |
1130 | 1152 | ||
1131 | if (CompilerConstants.IntegerNotSet != virtualMemory) | 1153 | if (CompilerConstants.IntegerNotSet != virtualMemory) |
1132 | { | 1154 | { |
1133 | row.Set(12, virtualMemory); | 1155 | tuple.VirtualMemory = virtualMemory; |
1134 | } | 1156 | } |
1135 | 1157 | ||
1136 | if (CompilerConstants.IntegerNotSet != privateMemory) | 1158 | if (CompilerConstants.IntegerNotSet != privateMemory) |
1137 | { | 1159 | { |
1138 | row.Set(13, privateMemory); | 1160 | tuple.PrivateMemory = privateMemory; |
1139 | } | 1161 | } |
1140 | row.Set(14, managedRuntimeVersion); | ||
1141 | row.Set(15, managedPipelineMode); | ||
1142 | } | 1162 | } |
1143 | } | 1163 | } |
1144 | 1164 | ||
@@ -1150,13 +1170,13 @@ namespace WixToolset.Iis | |||
1150 | /// <param name="parentWeb">Optional identifier for parent web site.</param> | 1170 | /// <param name="parentWeb">Optional identifier for parent web site.</param> |
1151 | private void ParseWebDirElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string parentWeb) | 1171 | private void ParseWebDirElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string parentWeb) |
1152 | { | 1172 | { |
1153 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1173 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1154 | Identifier id = null; | 1174 | Identifier id = null; |
1155 | string dirProperties = null; | 1175 | string dirProperties = null; |
1156 | string path = null; | 1176 | string path = null; |
1157 | string application = null; | 1177 | string application = null; |
1158 | 1178 | ||
1159 | foreach (XAttribute attrib in element.Attributes()) | 1179 | foreach (var attrib in element.Attributes()) |
1160 | { | 1180 | { |
1161 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 1181 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
1162 | { | 1182 | { |
@@ -1181,7 +1201,7 @@ namespace WixToolset.Iis | |||
1181 | } | 1201 | } |
1182 | 1202 | ||
1183 | parentWeb = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 1203 | parentWeb = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
1184 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebSite", parentWeb); | 1204 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebSite, parentWeb); |
1185 | break; | 1205 | break; |
1186 | default: | 1206 | default: |
1187 | this.ParseHelper.UnexpectedAttribute(element, attrib); | 1207 | this.ParseHelper.UnexpectedAttribute(element, attrib); |
@@ -1196,7 +1216,7 @@ namespace WixToolset.Iis | |||
1196 | 1216 | ||
1197 | if (null == id) | 1217 | if (null == id) |
1198 | { | 1218 | { |
1199 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 1219 | id = this.ParseHelper.CreateIdentifier("iwd", componentId, parentWeb, dirProperties, application); |
1200 | } | 1220 | } |
1201 | 1221 | ||
1202 | if (null == path) | 1222 | if (null == path) |
@@ -1209,11 +1229,11 @@ namespace WixToolset.Iis | |||
1209 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "WebSite")); | 1229 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "WebSite")); |
1210 | } | 1230 | } |
1211 | 1231 | ||
1212 | foreach (XElement child in element.Elements()) | 1232 | foreach (var child in element.Elements()) |
1213 | { | 1233 | { |
1214 | if (this.Namespace == child.Name.Namespace) | 1234 | if (this.Namespace == child.Name.Namespace) |
1215 | { | 1235 | { |
1216 | SourceLineNumber childSourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(child); | 1236 | var childSourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(child); |
1217 | switch (child.Name.LocalName) | 1237 | switch (child.Name.LocalName) |
1218 | { | 1238 | { |
1219 | case "WebApplication": | 1239 | case "WebApplication": |
@@ -1230,7 +1250,7 @@ namespace WixToolset.Iis | |||
1230 | this.Messaging.Write(IIsErrors.IllegalElementWithoutComponent(childSourceLineNumbers, child.Name.LocalName)); | 1250 | this.Messaging.Write(IIsErrors.IllegalElementWithoutComponent(childSourceLineNumbers, child.Name.LocalName)); |
1231 | } | 1251 | } |
1232 | 1252 | ||
1233 | string childWebDirProperties = this.ParseWebDirPropertiesElement(intermediate, section, child); | 1253 | string childWebDirProperties = this.ParseWebDirPropertiesElement(intermediate, section, child, componentId); |
1234 | if (null == dirProperties) | 1254 | if (null == dirProperties) |
1235 | { | 1255 | { |
1236 | dirProperties = childWebDirProperties; | 1256 | dirProperties = childWebDirProperties; |
@@ -1258,22 +1278,24 @@ namespace WixToolset.Iis | |||
1258 | 1278 | ||
1259 | if (null != application) | 1279 | if (null != application) |
1260 | { | 1280 | { |
1261 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebApplication", application); | 1281 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebApplication, application); |
1262 | } | 1282 | } |
1263 | 1283 | ||
1264 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebDirProperties", dirProperties); | 1284 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebDirProperties, dirProperties); |
1265 | 1285 | ||
1266 | // Reference ConfigureIIs since nothing will happen without it | 1286 | // Reference ConfigureIIs since nothing will happen without it |
1267 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureIIs"); | 1287 | this.AddReferenceToConfigureIIs(section, sourceLineNumbers); |
1268 | 1288 | ||
1269 | if (!this.Messaging.EncounteredError) | 1289 | if (!this.Messaging.EncounteredError) |
1270 | { | 1290 | { |
1271 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebDir", id); | 1291 | section.AddTuple(new IIsWebDirTuple(sourceLineNumbers, id) |
1272 | row.Set(1, componentId); | 1292 | { |
1273 | row.Set(2, parentWeb); | 1293 | ComponentRef = componentId, |
1274 | row.Set(3, path); | 1294 | WebRef = parentWeb, |
1275 | row.Set(4, dirProperties); | 1295 | Path = path, |
1276 | row.Set(5, application); | 1296 | DirPropertiesRef = dirProperties, |
1297 | ApplicationRef = application, | ||
1298 | }); | ||
1277 | } | 1299 | } |
1278 | } | 1300 | } |
1279 | 1301 | ||
@@ -1282,29 +1304,29 @@ namespace WixToolset.Iis | |||
1282 | /// </summary> | 1304 | /// </summary> |
1283 | /// <param name="element">Element to parse.</param> | 1305 | /// <param name="element">Element to parse.</param> |
1284 | /// <returns>The identifier for this WebDirProperties.</returns> | 1306 | /// <returns>The identifier for this WebDirProperties.</returns> |
1285 | private string ParseWebDirPropertiesElement(Intermediate intermediate, IntermediateSection section, XElement element) | 1307 | private string ParseWebDirPropertiesElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) |
1286 | { | 1308 | { |
1287 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1309 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1288 | Identifier id = null; | 1310 | Identifier id = null; |
1289 | int access = 0; | 1311 | int access = 0; |
1290 | bool accessSet = false; | 1312 | var accessSet = false; |
1291 | int accessSSLFlags = 0; | 1313 | int accessSSLFlags = 0; |
1292 | bool accessSSLFlagsSet = false; | 1314 | var accessSSLFlagsSet = false; |
1293 | string anonymousUser = null; | 1315 | string anonymousUser = null; |
1294 | YesNoType aspDetailedError = YesNoType.NotSet; | 1316 | var aspDetailedError = YesNoType.NotSet; |
1295 | string authenticationProviders = null; | 1317 | string authenticationProviders = null; |
1296 | int authorization = 0; | 1318 | int authorization = 0; |
1297 | bool authorizationSet = false; | 1319 | var authorizationSet = false; |
1298 | string cacheControlCustom = null; | 1320 | string cacheControlCustom = null; |
1299 | long cacheControlMaxAge = CompilerConstants.LongNotSet; | 1321 | var cacheControlMaxAge = CompilerConstants.LongNotSet; |
1300 | string defaultDocuments = null; | 1322 | string defaultDocuments = null; |
1301 | string httpExpires = null; | 1323 | string httpExpires = null; |
1302 | bool iisControlledPassword = false; | 1324 | var iisControlledPassword = false; |
1303 | YesNoType index = YesNoType.NotSet; | 1325 | var index = YesNoType.NotSet; |
1304 | YesNoType logVisits = YesNoType.NotSet; | 1326 | var logVisits = YesNoType.NotSet; |
1305 | YesNoType notCustomError = YesNoType.NotSet; | 1327 | var notCustomError = YesNoType.NotSet; |
1306 | 1328 | ||
1307 | foreach (XAttribute attrib in element.Attributes()) | 1329 | foreach (var attrib in element.Attributes()) |
1308 | { | 1330 | { |
1309 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 1331 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
1310 | { | 1332 | { |
@@ -1520,58 +1542,73 @@ namespace WixToolset.Iis | |||
1520 | 1542 | ||
1521 | if (null == id) | 1543 | if (null == id) |
1522 | { | 1544 | { |
1523 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 1545 | if (null == componentId) |
1546 | { | ||
1547 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | ||
1548 | id = Identifier.Invalid; | ||
1549 | } | ||
1550 | else | ||
1551 | { | ||
1552 | id = this.ParseHelper.CreateIdentifier("wdp", componentId); | ||
1553 | } | ||
1524 | } | 1554 | } |
1525 | 1555 | ||
1526 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 1556 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
1527 | 1557 | ||
1528 | if (!this.Messaging.EncounteredError) | 1558 | if (!this.Messaging.EncounteredError) |
1529 | { | 1559 | { |
1530 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebDirProperties", id); | 1560 | var tuple = section.AddTuple(new IIsWebDirPropertiesTuple(sourceLineNumbers, id) |
1561 | { | ||
1562 | AnonymousUserRef = anonymousUser, | ||
1563 | IIsControlledPassword = iisControlledPassword ? 1 : 0, | ||
1564 | DefaultDoc = defaultDocuments, | ||
1565 | HttpExpires = httpExpires, | ||
1566 | CacheControlCustom = cacheControlCustom, | ||
1567 | }); | ||
1568 | |||
1531 | if (accessSet) | 1569 | if (accessSet) |
1532 | { | 1570 | { |
1533 | row.Set(1, access); | 1571 | tuple.Access = access; |
1534 | } | 1572 | } |
1535 | 1573 | ||
1536 | if (authorizationSet) | 1574 | if (authorizationSet) |
1537 | { | 1575 | { |
1538 | row.Set(2, authorization); | 1576 | tuple.Authorization = authorization; |
1539 | } | 1577 | } |
1540 | row.Set(3, anonymousUser); | 1578 | |
1541 | row.Set(4, iisControlledPassword ? 1 : 0); | ||
1542 | if (YesNoType.NotSet != logVisits) | 1579 | if (YesNoType.NotSet != logVisits) |
1543 | { | 1580 | { |
1544 | row.Set(5, YesNoType.Yes == logVisits ? 1 : 0); | 1581 | tuple.LogVisits = YesNoType.Yes == logVisits ? 1 : 0; |
1545 | } | 1582 | } |
1546 | 1583 | ||
1547 | if (YesNoType.NotSet != index) | 1584 | if (YesNoType.NotSet != index) |
1548 | { | 1585 | { |
1549 | row.Set(6, YesNoType.Yes == index ? 1 : 0); | 1586 | tuple.Index = YesNoType.Yes == index ? 1 : 0; |
1550 | } | 1587 | } |
1551 | row.Set(7, defaultDocuments); | 1588 | |
1552 | if (YesNoType.NotSet != aspDetailedError) | 1589 | if (YesNoType.NotSet != aspDetailedError) |
1553 | { | 1590 | { |
1554 | row.Set(8, YesNoType.Yes == aspDetailedError ? 1 : 0); | 1591 | tuple.AspDetailedError = YesNoType.Yes == aspDetailedError ? 1 : 0; |
1555 | } | 1592 | } |
1556 | row.Set(9, httpExpires); | 1593 | |
1557 | if (CompilerConstants.LongNotSet != cacheControlMaxAge) | 1594 | if (CompilerConstants.LongNotSet != cacheControlMaxAge) |
1558 | { | 1595 | { |
1559 | row.Set(10, unchecked((int)cacheControlMaxAge)); | 1596 | tuple.CacheControlMaxAge = unchecked((int)cacheControlMaxAge); |
1560 | } | 1597 | } |
1561 | row.Set(11, cacheControlCustom); | 1598 | |
1562 | if (YesNoType.NotSet != notCustomError) | 1599 | if (YesNoType.NotSet != notCustomError) |
1563 | { | 1600 | { |
1564 | row.Set(12, YesNoType.Yes == notCustomError ? 1 : 0); | 1601 | tuple.NoCustomError = YesNoType.Yes == notCustomError ? 1 : 0; |
1565 | } | 1602 | } |
1566 | 1603 | ||
1567 | if (accessSSLFlagsSet) | 1604 | if (accessSSLFlagsSet) |
1568 | { | 1605 | { |
1569 | row.Set(13, accessSSLFlags); | 1606 | tuple.AccessSSLFlags = accessSSLFlags; |
1570 | } | 1607 | } |
1571 | 1608 | ||
1572 | if (null != authenticationProviders) | 1609 | if (null != authenticationProviders) |
1573 | { | 1610 | { |
1574 | row.Set(14, authenticationProviders); | 1611 | tuple.AuthenticationProviders = authenticationProviders; |
1575 | } | 1612 | } |
1576 | } | 1613 | } |
1577 | 1614 | ||
@@ -1586,13 +1623,13 @@ namespace WixToolset.Iis | |||
1586 | /// <param name="parent">Id of the parent.</param> | 1623 | /// <param name="parent">Id of the parent.</param> |
1587 | private void ParseWebErrorElement(Intermediate intermediate, IntermediateSection section, XElement element, WebErrorParentType parentType, string parent) | 1624 | private void ParseWebErrorElement(Intermediate intermediate, IntermediateSection section, XElement element, WebErrorParentType parentType, string parent) |
1588 | { | 1625 | { |
1589 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1626 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1590 | int errorCode = CompilerConstants.IntegerNotSet; | 1627 | var errorCode = CompilerConstants.IntegerNotSet; |
1591 | string file = null; | 1628 | string file = null; |
1592 | string url = null; | 1629 | string url = null; |
1593 | int subCode = CompilerConstants.IntegerNotSet; | 1630 | var subCode = CompilerConstants.IntegerNotSet; |
1594 | 1631 | ||
1595 | foreach (XAttribute attrib in element.Attributes()) | 1632 | foreach (var attrib in element.Attributes()) |
1596 | { | 1633 | { |
1597 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 1634 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
1598 | { | 1635 | { |
@@ -1641,17 +1678,19 @@ namespace WixToolset.Iis | |||
1641 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 1678 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
1642 | 1679 | ||
1643 | // Reference ConfigureIIs since nothing will happen without it | 1680 | // Reference ConfigureIIs since nothing will happen without it |
1644 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureIIs"); | 1681 | this.AddReferenceToConfigureIIs(section, sourceLineNumbers); |
1645 | 1682 | ||
1646 | if (!this.Messaging.EncounteredError) | 1683 | if (!this.Messaging.EncounteredError) |
1647 | { | 1684 | { |
1648 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebError"); | 1685 | section.AddTuple(new IIsWebErrorTuple(sourceLineNumbers) |
1649 | row.Set(0, errorCode); | 1686 | { |
1650 | row.Set(1, subCode); | 1687 | ErrorCode = errorCode, |
1651 | row.Set(2, (int)parentType); | 1688 | SubCode = subCode, |
1652 | row.Set(3, parent); | 1689 | ParentType = (int)parentType, |
1653 | row.Set(4, file); | 1690 | ParentValue = parent, |
1654 | row.Set(5, url); | 1691 | File = file, |
1692 | URL = url, | ||
1693 | }); | ||
1655 | } | 1694 | } |
1656 | } | 1695 | } |
1657 | 1696 | ||
@@ -1663,15 +1702,15 @@ namespace WixToolset.Iis | |||
1663 | /// <param name="parentWeb">Optional identifier of parent web site.</param> | 1702 | /// <param name="parentWeb">Optional identifier of parent web site.</param> |
1664 | private void ParseWebFilterElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string parentWeb) | 1703 | private void ParseWebFilterElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string parentWeb) |
1665 | { | 1704 | { |
1666 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1705 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1667 | Identifier id = null; | 1706 | Identifier id = null; |
1668 | string description = null; | 1707 | string description = null; |
1669 | int flags = 0; | 1708 | int flags = 0; |
1670 | int loadOrder = CompilerConstants.IntegerNotSet; | 1709 | var loadOrder = CompilerConstants.IntegerNotSet; |
1671 | string name = null; | 1710 | string name = null; |
1672 | string path = null; | 1711 | string path = null; |
1673 | 1712 | ||
1674 | foreach (XAttribute attrib in element.Attributes()) | 1713 | foreach (var attrib in element.Attributes()) |
1675 | { | 1714 | { |
1676 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 1715 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
1677 | { | 1716 | { |
@@ -1717,7 +1756,7 @@ namespace WixToolset.Iis | |||
1717 | } | 1756 | } |
1718 | 1757 | ||
1719 | parentWeb = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 1758 | parentWeb = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
1720 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebSite", parentWeb); | 1759 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebSite, parentWeb); |
1721 | break; | 1760 | break; |
1722 | default: | 1761 | default: |
1723 | this.ParseHelper.UnexpectedAttribute(element, attrib); | 1762 | this.ParseHelper.UnexpectedAttribute(element, attrib); |
@@ -1732,7 +1771,7 @@ namespace WixToolset.Iis | |||
1732 | 1771 | ||
1733 | if (null == id) | 1772 | if (null == id) |
1734 | { | 1773 | { |
1735 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 1774 | id = this.ParseHelper.CreateIdentifier("ifl", name, componentId, path, parentWeb); |
1736 | } | 1775 | } |
1737 | 1776 | ||
1738 | if (null == name) | 1777 | if (null == name) |
@@ -1748,20 +1787,23 @@ namespace WixToolset.Iis | |||
1748 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 1787 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
1749 | 1788 | ||
1750 | // Reference ConfigureIIs since nothing will happen without it | 1789 | // Reference ConfigureIIs since nothing will happen without it |
1751 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureIIs"); | 1790 | this.AddReferenceToConfigureIIs(section, sourceLineNumbers); |
1752 | 1791 | ||
1753 | if (!this.Messaging.EncounteredError) | 1792 | if (!this.Messaging.EncounteredError) |
1754 | { | 1793 | { |
1755 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsFilter", id); | 1794 | var tuple = section.AddTuple(new IIsFilterTuple(sourceLineNumbers, id) |
1756 | row.Set(1, name); | 1795 | { |
1757 | row.Set(2, componentId); | 1796 | Name = name, |
1758 | row.Set(3, path); | 1797 | ComponentRef = componentId, |
1759 | row.Set(4, parentWeb); | 1798 | Path = path, |
1760 | row.Set(5, description); | 1799 | WebRef = parentWeb, |
1761 | row.Set(6, flags); | 1800 | Description = description, |
1801 | Flags = flags, | ||
1802 | }); | ||
1803 | |||
1762 | if (CompilerConstants.IntegerNotSet != loadOrder) | 1804 | if (CompilerConstants.IntegerNotSet != loadOrder) |
1763 | { | 1805 | { |
1764 | row.Set(7, loadOrder); | 1806 | tuple.LoadOrder = loadOrder; |
1765 | } | 1807 | } |
1766 | } | 1808 | } |
1767 | } | 1809 | } |
@@ -1772,11 +1814,11 @@ namespace WixToolset.Iis | |||
1772 | /// <param name="element">Node to be parsed.</param> | 1814 | /// <param name="element">Node to be parsed.</param> |
1773 | private void ParseWebLogElement(Intermediate intermediate, IntermediateSection section, XElement element) | 1815 | private void ParseWebLogElement(Intermediate intermediate, IntermediateSection section, XElement element) |
1774 | { | 1816 | { |
1775 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1817 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1776 | Identifier id = null; | 1818 | Identifier id = null; |
1777 | string type = null; | 1819 | string type = null; |
1778 | 1820 | ||
1779 | foreach (XAttribute attrib in element.Attributes()) | 1821 | foreach (var attrib in element.Attributes()) |
1780 | { | 1822 | { |
1781 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 1823 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
1782 | { | 1824 | { |
@@ -1786,7 +1828,7 @@ namespace WixToolset.Iis | |||
1786 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); | 1828 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); |
1787 | break; | 1829 | break; |
1788 | case "Type": | 1830 | case "Type": |
1789 | string typeValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 1831 | var typeValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
1790 | if (0 < typeValue.Length) | 1832 | if (0 < typeValue.Length) |
1791 | { | 1833 | { |
1792 | switch (typeValue) | 1834 | switch (typeValue) |
@@ -1837,8 +1879,10 @@ namespace WixToolset.Iis | |||
1837 | 1879 | ||
1838 | if (!this.Messaging.EncounteredError) | 1880 | if (!this.Messaging.EncounteredError) |
1839 | { | 1881 | { |
1840 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebLog", id); | 1882 | section.AddTuple(new IIsWebLogTuple(sourceLineNumbers, id) |
1841 | row.Set(1, type); | 1883 | { |
1884 | Format = type, | ||
1885 | }); | ||
1842 | } | 1886 | } |
1843 | } | 1887 | } |
1844 | 1888 | ||
@@ -1849,11 +1893,11 @@ namespace WixToolset.Iis | |||
1849 | /// <param name="componentId">Identifier for parent component.</param> | 1893 | /// <param name="componentId">Identifier for parent component.</param> |
1850 | private void ParseWebPropertyElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) | 1894 | private void ParseWebPropertyElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) |
1851 | { | 1895 | { |
1852 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1896 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1853 | Identifier id = null; | 1897 | Identifier id = null; |
1854 | string value = null; | 1898 | string value = null; |
1855 | 1899 | ||
1856 | foreach (XAttribute attrib in element.Attributes()) | 1900 | foreach (var attrib in element.Attributes()) |
1857 | { | 1901 | { |
1858 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 1902 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
1859 | { | 1903 | { |
@@ -1902,14 +1946,16 @@ namespace WixToolset.Iis | |||
1902 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 1946 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
1903 | 1947 | ||
1904 | // Reference ConfigureIIs since nothing will happen without it | 1948 | // Reference ConfigureIIs since nothing will happen without it |
1905 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureIIs"); | 1949 | this.AddReferenceToConfigureIIs(section, sourceLineNumbers); |
1906 | 1950 | ||
1907 | if (!this.Messaging.EncounteredError) | 1951 | if (!this.Messaging.EncounteredError) |
1908 | { | 1952 | { |
1909 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsProperty", id); | 1953 | section.AddTuple(new IIsPropertyTuple(sourceLineNumbers, id) |
1910 | row.Set(1, componentId); | 1954 | { |
1911 | row.Set(2, 0); | 1955 | ComponentRef = componentId, |
1912 | row.Set(3, value); | 1956 | Attributes = 0, |
1957 | Value = value, | ||
1958 | }); | ||
1913 | } | 1959 | } |
1914 | } | 1960 | } |
1915 | 1961 | ||
@@ -1920,7 +1966,7 @@ namespace WixToolset.Iis | |||
1920 | /// <param name="componentId">Identifier for parent component.</param> | 1966 | /// <param name="componentId">Identifier for parent component.</param> |
1921 | private void ParseWebServiceExtensionElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) | 1967 | private void ParseWebServiceExtensionElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) |
1922 | { | 1968 | { |
1923 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1969 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1924 | Identifier id = null; | 1970 | Identifier id = null; |
1925 | int attributes = 0; | 1971 | int attributes = 0; |
1926 | string description = null; | 1972 | string description = null; |
@@ -1978,7 +2024,7 @@ namespace WixToolset.Iis | |||
1978 | 2024 | ||
1979 | if (null == id) | 2025 | if (null == id) |
1980 | { | 2026 | { |
1981 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 2027 | id = this.ParseHelper.CreateIdentifier("iwe", componentId, file); |
1982 | } | 2028 | } |
1983 | 2029 | ||
1984 | if (null == file) | 2030 | if (null == file) |
@@ -1989,16 +2035,18 @@ namespace WixToolset.Iis | |||
1989 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 2035 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
1990 | 2036 | ||
1991 | // Reference ConfigureIIs since nothing will happen without it | 2037 | // Reference ConfigureIIs since nothing will happen without it |
1992 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureIIs"); | 2038 | this.AddReferenceToConfigureIIs(section, sourceLineNumbers); |
1993 | 2039 | ||
1994 | if (!this.Messaging.EncounteredError) | 2040 | if (!this.Messaging.EncounteredError) |
1995 | { | 2041 | { |
1996 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebServiceExtension", id); | 2042 | section.AddTuple(new IIsWebServiceExtensionTuple(sourceLineNumbers, id) |
1997 | row.Set(1, componentId); | 2043 | { |
1998 | row.Set(2, file); | 2044 | ComponentRef = componentId, |
1999 | row.Set(3, description); | 2045 | File = file, |
2000 | row.Set(4, group); | 2046 | Description = description, |
2001 | row.Set(5, attributes); | 2047 | Group = group, |
2048 | Attributes = attributes, | ||
2049 | }); | ||
2002 | } | 2050 | } |
2003 | } | 2051 | } |
2004 | 2052 | ||
@@ -2009,21 +2057,21 @@ namespace WixToolset.Iis | |||
2009 | /// <param name="componentId">Optional identifier of parent component.</param> | 2057 | /// <param name="componentId">Optional identifier of parent component.</param> |
2010 | private void ParseWebSiteElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) | 2058 | private void ParseWebSiteElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) |
2011 | { | 2059 | { |
2012 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 2060 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
2013 | Identifier id = null; | 2061 | Identifier id = null; |
2014 | string application = null; | 2062 | string application = null; |
2015 | int attributes = 0; | 2063 | int attributes = 0; |
2016 | int connectionTimeout = CompilerConstants.IntegerNotSet; | 2064 | var connectionTimeout = CompilerConstants.IntegerNotSet; |
2017 | string description = null; | 2065 | string description = null; |
2018 | string directory = null; | 2066 | string directory = null; |
2019 | string dirProperties = null; | 2067 | string dirProperties = null; |
2020 | string keyAddress = null; | 2068 | string keyAddress = null; |
2021 | string log = null; | 2069 | string log = null; |
2022 | string siteId = null; | 2070 | string siteId = null; |
2023 | int sequence = CompilerConstants.IntegerNotSet; | 2071 | var sequence = CompilerConstants.IntegerNotSet; |
2024 | int state = CompilerConstants.IntegerNotSet; | 2072 | var state = CompilerConstants.IntegerNotSet; |
2025 | 2073 | ||
2026 | foreach (XAttribute attrib in element.Attributes()) | 2074 | foreach (var attrib in element.Attributes()) |
2027 | { | 2075 | { |
2028 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 2076 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
2029 | { | 2077 | { |
@@ -2070,7 +2118,7 @@ namespace WixToolset.Iis | |||
2070 | break; | 2118 | break; |
2071 | case "Directory": | 2119 | case "Directory": |
2072 | directory = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 2120 | directory = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
2073 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "Directory", directory); | 2121 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.Directory, directory); |
2074 | break; | 2122 | break; |
2075 | case "DirProperties": | 2123 | case "DirProperties": |
2076 | if (null == componentId) | 2124 | if (null == componentId) |
@@ -2121,7 +2169,7 @@ namespace WixToolset.Iis | |||
2121 | } | 2169 | } |
2122 | 2170 | ||
2123 | log = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 2171 | log = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
2124 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebLog", log); | 2172 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebLog, log); |
2125 | break; | 2173 | break; |
2126 | default: | 2174 | default: |
2127 | this.ParseHelper.UnexpectedAttribute(element, attrib); | 2175 | this.ParseHelper.UnexpectedAttribute(element, attrib); |
@@ -2136,7 +2184,7 @@ namespace WixToolset.Iis | |||
2136 | 2184 | ||
2137 | if (null == id) | 2185 | if (null == id) |
2138 | { | 2186 | { |
2139 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 2187 | id = this.ParseHelper.CreateIdentifier("iws", description, componentId, siteId, application); |
2140 | } | 2188 | } |
2141 | 2189 | ||
2142 | if (null == description) | 2190 | if (null == description) |
@@ -2149,11 +2197,11 @@ namespace WixToolset.Iis | |||
2149 | this.Messaging.Write(IIsErrors.RequiredAttributeUnderComponent(sourceLineNumbers, element.Name.LocalName, "Directory")); | 2197 | this.Messaging.Write(IIsErrors.RequiredAttributeUnderComponent(sourceLineNumbers, element.Name.LocalName, "Directory")); |
2150 | } | 2198 | } |
2151 | 2199 | ||
2152 | foreach (XElement child in element.Elements()) | 2200 | foreach (var child in element.Elements()) |
2153 | { | 2201 | { |
2154 | if (this.Namespace == child.Name.Namespace) | 2202 | if (this.Namespace == child.Name.Namespace) |
2155 | { | 2203 | { |
2156 | SourceLineNumber childSourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(child); | 2204 | var childSourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(child); |
2157 | switch (child.Name.LocalName) | 2205 | switch (child.Name.LocalName) |
2158 | { | 2206 | { |
2159 | case "CertificateRef": | 2207 | case "CertificateRef": |
@@ -2206,7 +2254,7 @@ namespace WixToolset.Iis | |||
2206 | this.Messaging.Write(IIsErrors.IllegalElementWithoutComponent(childSourceLineNumbers, child.Name.LocalName)); | 2254 | this.Messaging.Write(IIsErrors.IllegalElementWithoutComponent(childSourceLineNumbers, child.Name.LocalName)); |
2207 | } | 2255 | } |
2208 | 2256 | ||
2209 | string childWebDirProperties = this.ParseWebDirPropertiesElement(intermediate, section, child); | 2257 | string childWebDirProperties = this.ParseWebDirPropertiesElement(intermediate, section, child, componentId); |
2210 | if (null == dirProperties) | 2258 | if (null == dirProperties) |
2211 | { | 2259 | { |
2212 | dirProperties = childWebDirProperties; | 2260 | dirProperties = childWebDirProperties; |
@@ -2262,48 +2310,53 @@ namespace WixToolset.Iis | |||
2262 | 2310 | ||
2263 | if (null != application) | 2311 | if (null != application) |
2264 | { | 2312 | { |
2265 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebApplication", application); | 2313 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebApplication, application); |
2266 | } | 2314 | } |
2267 | 2315 | ||
2268 | if (null != dirProperties) | 2316 | if (null != dirProperties) |
2269 | { | 2317 | { |
2270 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebDirProperties", dirProperties); | 2318 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebDirProperties, dirProperties); |
2271 | } | 2319 | } |
2272 | 2320 | ||
2273 | if (null != componentId) | 2321 | if (null != componentId) |
2274 | { | 2322 | { |
2275 | // Reference ConfigureIIs since nothing will happen without it | 2323 | // Reference ConfigureIIs since nothing will happen without it |
2276 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureIIs"); | 2324 | this.AddReferenceToConfigureIIs(section, sourceLineNumbers); |
2277 | } | 2325 | } |
2278 | 2326 | ||
2279 | if (!this.Messaging.EncounteredError) | 2327 | if (!this.Messaging.EncounteredError) |
2280 | { | 2328 | { |
2281 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebSite", id); | 2329 | var tuple = section.AddTuple(new IIsWebSiteTuple(sourceLineNumbers, id) |
2282 | row.Set(1, componentId); | 2330 | { |
2283 | row.Set(2, description); | 2331 | ComponentRef = componentId, |
2332 | Description = description, | ||
2333 | DirectoryRef = directory, | ||
2334 | KeyAddressRef = keyAddress, | ||
2335 | DirPropertiesRef = dirProperties, | ||
2336 | ApplicationRef = application, | ||
2337 | LogRef = log, | ||
2338 | WebsiteId = siteId, | ||
2339 | }); | ||
2340 | |||
2284 | if (CompilerConstants.IntegerNotSet != connectionTimeout) | 2341 | if (CompilerConstants.IntegerNotSet != connectionTimeout) |
2285 | { | 2342 | { |
2286 | row.Set(3, connectionTimeout); | 2343 | tuple.ConnectionTimeout = connectionTimeout; |
2287 | } | 2344 | } |
2288 | row.Set(4, directory); | 2345 | |
2289 | if (CompilerConstants.IntegerNotSet != state) | 2346 | if (CompilerConstants.IntegerNotSet != state) |
2290 | { | 2347 | { |
2291 | row.Set(5, state); | 2348 | tuple.State = state; |
2292 | } | 2349 | } |
2293 | 2350 | ||
2294 | if (0 != attributes) | 2351 | if (0 != attributes) |
2295 | { | 2352 | { |
2296 | row.Set(6, attributes); | 2353 | tuple.Attributes = attributes; |
2297 | } | 2354 | } |
2298 | row.Set(7, keyAddress); | 2355 | |
2299 | row.Set(8, dirProperties); | ||
2300 | row.Set(9, application); | ||
2301 | if (CompilerConstants.IntegerNotSet != sequence) | 2356 | if (CompilerConstants.IntegerNotSet != sequence) |
2302 | { | 2357 | { |
2303 | row.Set(10, sequence); | 2358 | tuple.Sequence = sequence; |
2304 | } | 2359 | } |
2305 | row.Set(11, log); | ||
2306 | row.Set(12, siteId); | ||
2307 | } | 2360 | } |
2308 | } | 2361 | } |
2309 | 2362 | ||
@@ -2315,12 +2368,12 @@ namespace WixToolset.Iis | |||
2315 | /// <param name="parent">Id of the parent.</param> | 2368 | /// <param name="parent">Id of the parent.</param> |
2316 | private void ParseHttpHeaderElement(Intermediate intermediate, IntermediateSection section, XElement element, HttpHeaderParentType parentType, string parent) | 2369 | private void ParseHttpHeaderElement(Intermediate intermediate, IntermediateSection section, XElement element, HttpHeaderParentType parentType, string parent) |
2317 | { | 2370 | { |
2318 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 2371 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
2319 | Identifier id = null; | 2372 | Identifier id = null; |
2320 | string headerName = null; | 2373 | string headerName = null; |
2321 | string headerValue = null; | 2374 | string headerValue = null; |
2322 | 2375 | ||
2323 | foreach (XAttribute attrib in element.Attributes()) | 2376 | foreach (var attrib in element.Attributes()) |
2324 | { | 2377 | { |
2325 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 2378 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
2326 | { | 2379 | { |
@@ -2358,15 +2411,20 @@ namespace WixToolset.Iis | |||
2358 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 2411 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
2359 | 2412 | ||
2360 | // Reference ConfigureIIs since nothing will happen without it | 2413 | // Reference ConfigureIIs since nothing will happen without it |
2361 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureIIs"); | 2414 | this.AddReferenceToConfigureIIs(section, sourceLineNumbers); |
2362 | 2415 | ||
2363 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsHttpHeader", id); | 2416 | if (!this.Messaging.EncounteredError) |
2364 | row.Set(1, (int)parentType); | 2417 | { |
2365 | row.Set(2, parent); | 2418 | section.AddTuple(new IIsHttpHeaderTuple(sourceLineNumbers, id) |
2366 | row.Set(3, headerName); | 2419 | { |
2367 | row.Set(4, headerValue); | 2420 | HttpHeader = id.Id, |
2368 | row.Set(5, 0); | 2421 | ParentType = (int)parentType, |
2369 | //row.Set(6, null); | 2422 | ParentValue = parent, |
2423 | Name = headerName, | ||
2424 | Value = headerValue, | ||
2425 | Attributes = 0, | ||
2426 | }); | ||
2427 | } | ||
2370 | } | 2428 | } |
2371 | 2429 | ||
2372 | /// <summary> | 2430 | /// <summary> |
@@ -2378,14 +2436,14 @@ namespace WixToolset.Iis | |||
2378 | /// <param name="parentAlias">Alias of the parent web site.</param> | 2436 | /// <param name="parentAlias">Alias of the parent web site.</param> |
2379 | private void ParseWebVirtualDirElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string parentWeb, string parentAlias) | 2437 | private void ParseWebVirtualDirElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string parentWeb, string parentAlias) |
2380 | { | 2438 | { |
2381 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 2439 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
2382 | Identifier id = null; | 2440 | Identifier id = null; |
2383 | string alias = null; | 2441 | string alias = null; |
2384 | string application = null; | 2442 | string application = null; |
2385 | string directory = null; | 2443 | string directory = null; |
2386 | string dirProperties = null; | 2444 | string dirProperties = null; |
2387 | 2445 | ||
2388 | foreach (XAttribute attrib in element.Attributes()) | 2446 | foreach (var attrib in element.Attributes()) |
2389 | { | 2447 | { |
2390 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 2448 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
2391 | { | 2449 | { |
@@ -2399,7 +2457,7 @@ namespace WixToolset.Iis | |||
2399 | break; | 2457 | break; |
2400 | case "Directory": | 2458 | case "Directory": |
2401 | directory = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 2459 | directory = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
2402 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "Directory", directory); | 2460 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.Directory, directory); |
2403 | break; | 2461 | break; |
2404 | case "DirProperties": | 2462 | case "DirProperties": |
2405 | dirProperties = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 2463 | dirProperties = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -2414,7 +2472,7 @@ namespace WixToolset.Iis | |||
2414 | } | 2472 | } |
2415 | 2473 | ||
2416 | parentWeb = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 2474 | parentWeb = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
2417 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebSite", parentWeb); | 2475 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebSite, parentWeb); |
2418 | break; | 2476 | break; |
2419 | default: | 2477 | default: |
2420 | this.ParseHelper.UnexpectedAttribute(element, attrib); | 2478 | this.ParseHelper.UnexpectedAttribute(element, attrib); |
@@ -2429,7 +2487,7 @@ namespace WixToolset.Iis | |||
2429 | 2487 | ||
2430 | if (null == id) | 2488 | if (null == id) |
2431 | { | 2489 | { |
2432 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 2490 | id = this.ParseHelper.CreateIdentifier("wvd", alias, directory, dirProperties, application, parentWeb); |
2433 | } | 2491 | } |
2434 | 2492 | ||
2435 | if (null == alias) | 2493 | if (null == alias) |
@@ -2461,11 +2519,11 @@ namespace WixToolset.Iis | |||
2461 | alias = String.Concat(parentAlias, "/", alias); | 2519 | alias = String.Concat(parentAlias, "/", alias); |
2462 | } | 2520 | } |
2463 | 2521 | ||
2464 | foreach (XElement child in element.Elements()) | 2522 | foreach (var child in element.Elements()) |
2465 | { | 2523 | { |
2466 | if (this.Namespace == child.Name.Namespace) | 2524 | if (this.Namespace == child.Name.Namespace) |
2467 | { | 2525 | { |
2468 | SourceLineNumber childSourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(child); | 2526 | var childSourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(child); |
2469 | switch (child.Name.LocalName) | 2527 | switch (child.Name.LocalName) |
2470 | { | 2528 | { |
2471 | case "WebApplication": | 2529 | case "WebApplication": |
@@ -2482,7 +2540,7 @@ namespace WixToolset.Iis | |||
2482 | this.Messaging.Write(IIsErrors.IllegalElementWithoutComponent(childSourceLineNumbers, child.Name.LocalName)); | 2540 | this.Messaging.Write(IIsErrors.IllegalElementWithoutComponent(childSourceLineNumbers, child.Name.LocalName)); |
2483 | } | 2541 | } |
2484 | 2542 | ||
2485 | string childWebDirProperties = this.ParseWebDirPropertiesElement(intermediate, section, child); | 2543 | string childWebDirProperties = this.ParseWebDirPropertiesElement(intermediate, section, child, componentId); |
2486 | if (null == dirProperties) | 2544 | if (null == dirProperties) |
2487 | { | 2545 | { |
2488 | dirProperties = childWebDirProperties; | 2546 | dirProperties = childWebDirProperties; |
@@ -2518,27 +2576,34 @@ namespace WixToolset.Iis | |||
2518 | 2576 | ||
2519 | if (null != dirProperties) | 2577 | if (null != dirProperties) |
2520 | { | 2578 | { |
2521 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebDirProperties", dirProperties); | 2579 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebDirProperties, dirProperties); |
2522 | } | 2580 | } |
2523 | 2581 | ||
2524 | if (null != application) | 2582 | if (null != application) |
2525 | { | 2583 | { |
2526 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "IIsWebApplication", application); | 2584 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, IisTupleDefinitions.IIsWebApplication, application); |
2527 | } | 2585 | } |
2528 | 2586 | ||
2529 | // Reference ConfigureIIs since nothing will happen without it | 2587 | // Reference ConfigureIIs since nothing will happen without it |
2530 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureIIs"); | 2588 | this.AddReferenceToConfigureIIs(section, sourceLineNumbers); |
2531 | 2589 | ||
2532 | if (!this.Messaging.EncounteredError) | 2590 | if (!this.Messaging.EncounteredError) |
2533 | { | 2591 | { |
2534 | var row = this.ParseHelper.CreateRow(section, sourceLineNumbers, "IIsWebVirtualDir", id); | 2592 | section.AddTuple(new IIsWebVirtualDirTuple(sourceLineNumbers, id) |
2535 | row.Set(1, componentId); | 2593 | { |
2536 | row.Set(2, parentWeb); | 2594 | ComponentRef = componentId, |
2537 | row.Set(3, alias); | 2595 | WebRef = parentWeb, |
2538 | row.Set(4, directory); | 2596 | Alias = alias, |
2539 | row.Set(5, dirProperties); | 2597 | DirectoryRef = directory, |
2540 | row.Set(6, application); | 2598 | DirPropertiesRef = dirProperties, |
2599 | ApplicationRef = application, | ||
2600 | }); | ||
2541 | } | 2601 | } |
2542 | } | 2602 | } |
2603 | |||
2604 | private void AddReferenceToConfigureIIs(IntermediateSection section, SourceLineNumber sourceLineNumbers) | ||
2605 | { | ||
2606 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.CustomAction, "ConfigureIIs"); | ||
2607 | } | ||
2543 | } | 2608 | } |
2544 | } | 2609 | } |
diff --git a/src/wixext/IisTableDefinitions.cs b/src/wixext/IisTableDefinitions.cs new file mode 100644 index 00000000..eebfd26a --- /dev/null +++ b/src/wixext/IisTableDefinitions.cs | |||
@@ -0,0 +1,324 @@ | |||
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.Iis | ||
4 | { | ||
5 | using WixToolset.Data.WindowsInstaller; | ||
6 | |||
7 | public static class IisTableDefinitions | ||
8 | { | ||
9 | public static readonly TableDefinition Certificate = new TableDefinition( | ||
10 | "Certificate", | ||
11 | new[] | ||
12 | { | ||
13 | new ColumnDefinition("Certificate", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyColumn: 1, description: "Identifier for the certificate in the package.", modularizeType: ColumnModularizeType.Column), | ||
14 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, description: "Foreign key into the Component table used to determine install state", modularizeType: ColumnModularizeType.Column), | ||
15 | new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name to be used for the Certificate."), | ||
16 | new ColumnDefinition("StoreLocation", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 1, maxValue: 2, description: "Location of the target certificate store (CurrentUser == 1, LocalMachine == 2)"), | ||
17 | new ColumnDefinition("StoreName", ColumnType.String, 64, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name of the target certificate store"), | ||
18 | new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "Attributes of the certificate"), | ||
19 | new ColumnDefinition("Binary_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Binary", keyColumn: 1, description: "Identifier to Binary table containing certificate.", modularizeType: ColumnModularizeType.Column), | ||
20 | new ColumnDefinition("CertificatePath", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Property to path of certificate.", modularizeType: ColumnModularizeType.Property), | ||
21 | new ColumnDefinition("PFXPassword", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Hidden property to a pfx password", modularizeType: ColumnModularizeType.Property), | ||
22 | }, | ||
23 | tupleDefinitionName: "Certificate", | ||
24 | tupleIdIsPrimaryKey: true | ||
25 | ); | ||
26 | |||
27 | public static readonly TableDefinition CertificateHash = new TableDefinition( | ||
28 | "CertificateHash", | ||
29 | new[] | ||
30 | { | ||
31 | new ColumnDefinition("Certificate_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyColumn: 1, description: "Foreign key to certificate in Certificate table.", modularizeType: ColumnModularizeType.Column), | ||
32 | new ColumnDefinition("Hash", ColumnType.String, 0, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Base64 encoded SHA1 hash of certificate populated at run-time."), | ||
33 | }, | ||
34 | tupleDefinitionName: "CertificateHash", | ||
35 | tupleIdIsPrimaryKey: false | ||
36 | ); | ||
37 | |||
38 | public static readonly TableDefinition IIsWebSiteCertificates = new TableDefinition( | ||
39 | "IIsWebSiteCertificates", | ||
40 | new[] | ||
41 | { | ||
42 | new ColumnDefinition("Web_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "IIsWebSite", keyColumn: 1, description: "The index into the IIsWebSite table.", modularizeType: ColumnModularizeType.Column), | ||
43 | new ColumnDefinition("Certificate_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Text, keyTable: "Certificate", keyColumn: 1, description: "The index into the Certificate table.", modularizeType: ColumnModularizeType.Column), | ||
44 | }, | ||
45 | tupleDefinitionName: "IIsWebSiteCertificates", | ||
46 | tupleIdIsPrimaryKey: false | ||
47 | ); | ||
48 | |||
49 | public static readonly TableDefinition IIsAppPool = new TableDefinition( | ||
50 | "IIsAppPool", | ||
51 | new[] | ||
52 | { | ||
53 | new ColumnDefinition("AppPool", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token for apppool", modularizeType: ColumnModularizeType.Column), | ||
54 | new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name to be used for the IIs AppPool.", modularizeType: ColumnModularizeType.Property), | ||
55 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the app pool", modularizeType: ColumnModularizeType.Column), | ||
56 | new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Attributes of the AppPool"), | ||
57 | new ColumnDefinition("User_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "User", keyColumn: 1, description: "User account to run the app pool as", modularizeType: ColumnModularizeType.Column), | ||
58 | new ColumnDefinition("RecycleMinutes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Number of minutes between recycling app pool"), | ||
59 | new ColumnDefinition("RecycleRequests", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Number of requests between recycling app pool"), | ||
60 | new ColumnDefinition("RecycleTimes", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Times to recycle app pool (comma delimited - i.e. 1:45,13:30)"), | ||
61 | new ColumnDefinition("IdleTimeout", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Amount of idle time before shutting down"), | ||
62 | new ColumnDefinition("QueueLimit", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Reject requests after queue gets how large"), | ||
63 | new ColumnDefinition("CPUMon", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "CPUMon is a comma delimeted list of the following format: <percent CPU usage>,<refress minutes>,<Action>. The values for Action are 1 (Shutdown) and 0 (No Action)."), | ||
64 | new ColumnDefinition("MaxProc", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Maximum number of processes to use"), | ||
65 | new ColumnDefinition("VirtualMemory", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Amount of virtual memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this field is 4,294,967 KB."), | ||
66 | new ColumnDefinition("PrivateMemory", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Amount of private memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this field is 4,294,967 KB."), | ||
67 | new ColumnDefinition("ManagedRuntimeVersion", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Specifies the .NET Framework version to be used by the application pool."), | ||
68 | new ColumnDefinition("ManagedPipelineMode", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Specifies the request-processing mode that is used to process requests for managed content."), | ||
69 | }, | ||
70 | tupleDefinitionName: "IIsAppPool", | ||
71 | tupleIdIsPrimaryKey: true | ||
72 | ); | ||
73 | |||
74 | public static readonly TableDefinition IIsMimeMap = new TableDefinition( | ||
75 | "IIsMimeMap", | ||
76 | new[] | ||
77 | { | ||
78 | new ColumnDefinition("MimeMap", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token for Mime Map definitions", modularizeType: ColumnModularizeType.Column), | ||
79 | new ColumnDefinition("ParentType", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "1;2", description: "Type of parent: 1=vdir 2=website"), | ||
80 | new ColumnDefinition("ParentValue", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, description: "Name of the parent value.", modularizeType: ColumnModularizeType.Column), | ||
81 | new ColumnDefinition("MimeType", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Mime-type covered by the MimeMap."), | ||
82 | new ColumnDefinition("Extension", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Extension covered by the MimeMap."), | ||
83 | }, | ||
84 | tupleDefinitionName: "IIsMimeMap", | ||
85 | tupleIdIsPrimaryKey: true | ||
86 | ); | ||
87 | |||
88 | public static readonly TableDefinition IIsProperty = new TableDefinition( | ||
89 | "IIsProperty", | ||
90 | new[] | ||
91 | { | ||
92 | new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Unique name of the IIsProperty"), | ||
93 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Component that the property is linked to", modularizeType: ColumnModularizeType.Column), | ||
94 | new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Attributes of the IIsProperty (unused)"), | ||
95 | new ColumnDefinition("Value", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Value of the IIsProperty"), | ||
96 | }, | ||
97 | tupleDefinitionName: "IIsProperty", | ||
98 | tupleIdIsPrimaryKey: true | ||
99 | ); | ||
100 | |||
101 | public static readonly TableDefinition IIsWebDirProperties = new TableDefinition( | ||
102 | "IIsWebDirProperties", | ||
103 | new[] | ||
104 | { | ||
105 | new ColumnDefinition("DirProperties", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token for Web Properties", modularizeType: ColumnModularizeType.Column), | ||
106 | new ColumnDefinition("Access", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Access rights to the web server"), | ||
107 | new ColumnDefinition("Authorization", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Authorization policy to web server (anonymous access, NTLM, etc)"), | ||
108 | new ColumnDefinition("AnonymousUser_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "User", keyColumn: 1, description: "Foreign key, User used to log into database", modularizeType: ColumnModularizeType.Column), | ||
109 | new ColumnDefinition("IIsControlledPassword", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether IIs is allowed to set the AnonymousUser_ password"), | ||
110 | new ColumnDefinition("LogVisits", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether IIs tracks all access to the directory"), | ||
111 | new ColumnDefinition("Index", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether IIs searches the directory"), | ||
112 | new ColumnDefinition("DefaultDoc", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Comma delimited list of file names to act as a default document"), | ||
113 | new ColumnDefinition("AspDetailedError", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether detailed ASP errors are sent to browser"), | ||
114 | new ColumnDefinition("HttpExpires", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Value to set the HttpExpires attribute to for a Web Dir in the metabase"), | ||
115 | new ColumnDefinition("CacheControlMaxAge", ColumnType.Number, 4, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Integer value specifying the cache control maximum age value."), | ||
116 | new ColumnDefinition("CacheControlCustom", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Custom HTTP 1.1 cache control directives."), | ||
117 | new ColumnDefinition("NoCustomError", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether IIs will return custom errors for this directory."), | ||
118 | new ColumnDefinition("AccessSSLFlags", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Specifies AccessSSLFlags IIS metabase property."), | ||
119 | new ColumnDefinition("AuthenticationProviders", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Comma delimited list, in order of precedence, of Windows authentication providers that IIS will attempt to use: NTLM, Kerberos, Negotiate, and others."), | ||
120 | }, | ||
121 | tupleDefinitionName: "IIsWebDirProperties", | ||
122 | tupleIdIsPrimaryKey: true | ||
123 | ); | ||
124 | |||
125 | public static readonly TableDefinition IIsWebAddress = new TableDefinition( | ||
126 | "IIsWebAddress", | ||
127 | new[] | ||
128 | { | ||
129 | new ColumnDefinition("Address", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
130 | new ColumnDefinition("Web_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "IIsWebSite", keyColumn: 1, description: "Foreign key referencing Web that uses the address.", modularizeType: ColumnModularizeType.Column), | ||
131 | new ColumnDefinition("IP", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "String representing IP address (#.#.#.#) or NT machine name (fooserver)", modularizeType: ColumnModularizeType.Property), | ||
132 | new ColumnDefinition("Port", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Port web site listens on", modularizeType: ColumnModularizeType.Property), | ||
133 | new ColumnDefinition("Header", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Special header information for the web site"), | ||
134 | new ColumnDefinition("Secure", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether SSL is used to communicate with web site"), | ||
135 | }, | ||
136 | tupleDefinitionName: "IIsWebAddress", | ||
137 | tupleIdIsPrimaryKey: true | ||
138 | ); | ||
139 | |||
140 | public static readonly TableDefinition IIsWebSite = new TableDefinition( | ||
141 | "IIsWebSite", | ||
142 | new[] | ||
143 | { | ||
144 | new ColumnDefinition("Web", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
145 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the web site", modularizeType: ColumnModularizeType.Column), | ||
146 | new ColumnDefinition("Description", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Description displayed in IIS MMC applet"), | ||
147 | new ColumnDefinition("ConnectionTimeout", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Time connection is maintained without activity (in seconds)"), | ||
148 | new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "Directory", keyColumn: 1, description: "Foreign key referencing directory that the web site points at", modularizeType: ColumnModularizeType.Column), | ||
149 | new ColumnDefinition("State", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1;2", description: "Sets intial state of web site"), | ||
150 | new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "2", description: "Control the install behavior of web site"), | ||
151 | new ColumnDefinition("KeyAddress_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "IIsWebAddress", keyColumn: 1, description: "Foreign key referencing primary address for the web site", modularizeType: ColumnModularizeType.Column), | ||
152 | new ColumnDefinition("DirProperties_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "IIsWebDirProperties", keyColumn: 1, description: "Foreign key referencing possible security information for the web site", modularizeType: ColumnModularizeType.Column), | ||
153 | new ColumnDefinition("Application_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "IIsWebApplication", keyColumn: 1, description: "Foreign key referencing possible ASP application for the web site.", modularizeType: ColumnModularizeType.Column), | ||
154 | new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Allows ordering of web site install"), | ||
155 | new ColumnDefinition("Log_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Unknown, keyTable: "IIsWebLog", keyColumn: 1, description: "Foreign key reference to IIsWebLog data", modularizeType: ColumnModularizeType.Column), | ||
156 | new ColumnDefinition("Id", ColumnType.String, 74, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Optional number or formatted value that resolves to number that acts as the WebSite Id."), | ||
157 | }, | ||
158 | tupleDefinitionName: "IIsWebSite", | ||
159 | tupleIdIsPrimaryKey: true | ||
160 | ); | ||
161 | |||
162 | public static readonly TableDefinition IIsWebApplication = new TableDefinition( | ||
163 | "IIsWebApplication", | ||
164 | new[] | ||
165 | { | ||
166 | new ColumnDefinition("Application", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token for ASP Application", modularizeType: ColumnModularizeType.Column), | ||
167 | new ColumnDefinition("Name", ColumnType.Localized, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name of application in IIS MMC applet", modularizeType: ColumnModularizeType.Property), | ||
168 | new ColumnDefinition("Isolation", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, possibilities: "0;1;2", description: "Isolation level for ASP Application: 0 == Low, 2 == Medium, 1 == High"), | ||
169 | new ColumnDefinition("AllowSessions", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether application may maintain session state"), | ||
170 | new ColumnDefinition("SessionTimeout", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Time session state is maintained without user interaction"), | ||
171 | new ColumnDefinition("Buffer", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether application buffers its output"), | ||
172 | new ColumnDefinition("ParentPaths", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "What is this for anyway?"), | ||
173 | new ColumnDefinition("DefaultScript", ColumnType.String, 26, primaryKey: false, nullable: true, ColumnCategory.Text, possibilities: "VBScript;JScript", description: "Default scripting language for ASP applications"), | ||
174 | new ColumnDefinition("ScriptTimeout", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Time ASP application page is permitted to process"), | ||
175 | new ColumnDefinition("ServerDebugging", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether to allow ASP server-side script debugging"), | ||
176 | new ColumnDefinition("ClientDebugging", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "0;1", description: "Specifies whether to allow ASP client-side script debugging"), | ||
177 | new ColumnDefinition("AppPool_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "IIsAppPool", keyColumn: 1, description: "App Pool this application should run under", modularizeType: ColumnModularizeType.Column), | ||
178 | }, | ||
179 | tupleDefinitionName: "IIsWebApplication", | ||
180 | tupleIdIsPrimaryKey: true | ||
181 | ); | ||
182 | |||
183 | public static readonly TableDefinition IIsWebApplicationExtension = new TableDefinition( | ||
184 | "IIsWebApplicationExtension", | ||
185 | new[] | ||
186 | { | ||
187 | new ColumnDefinition("Application_", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, keyTable: "IIsWebApplication", keyColumn: 1, description: "Foreign key referencing possible ASP application for the web site", modularizeType: ColumnModularizeType.Column), | ||
188 | new ColumnDefinition("Extension", ColumnType.String, 255, primaryKey: true, nullable: true, ColumnCategory.Text, description: "Primary key, Extension that should be registered for this ASP application"), | ||
189 | new ColumnDefinition("Verbs", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Comma delimited list of HTTP verbs the extension should be registered with"), | ||
190 | new ColumnDefinition("Executable", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Path to extension (usually file property: [#file])", modularizeType: ColumnModularizeType.Property), | ||
191 | new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, possibilities: "1;4;5", description: "Attributes for extension: 1 == Script, 4 == Check Path Info"), | ||
192 | }, | ||
193 | tupleDefinitionName: "IIsWebApplicationExtension", | ||
194 | tupleIdIsPrimaryKey: false | ||
195 | ); | ||
196 | |||
197 | public static readonly TableDefinition IIsFilter = new TableDefinition( | ||
198 | "IIsFilter", | ||
199 | new[] | ||
200 | { | ||
201 | new ColumnDefinition("Filter", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
202 | new ColumnDefinition("Name", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Unknown, description: "Name of the ISAPI Filter in IIS"), | ||
203 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the filter", modularizeType: ColumnModularizeType.Column), | ||
204 | new ColumnDefinition("Path", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Path to filter (usually file property: [#file])", modularizeType: ColumnModularizeType.Property), | ||
205 | new ColumnDefinition("Web_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "IIsWebSite", keyColumn: 1, description: "Foreign key referencing web site that loads the filter (NULL == global filter", modularizeType: ColumnModularizeType.Column), | ||
206 | new ColumnDefinition("Description", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Description displayed in IIS MMC applet"), | ||
207 | new ColumnDefinition("Flags", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 2147483647, description: "What do all these numbers mean?"), | ||
208 | new ColumnDefinition("LoadOrder", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "-1 == last in order, 0 == first in order, # == place in order"), | ||
209 | }, | ||
210 | tupleDefinitionName: "IIsFilter", | ||
211 | tupleIdIsPrimaryKey: true | ||
212 | ); | ||
213 | |||
214 | public static readonly TableDefinition IIsWebDir = new TableDefinition( | ||
215 | "IIsWebDir", | ||
216 | new[] | ||
217 | { | ||
218 | new ColumnDefinition("WebDir", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
219 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the virtual directory", modularizeType: ColumnModularizeType.Column), | ||
220 | new ColumnDefinition("Web_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "IIsWebSite", keyColumn: 1, description: "Foreign key referencing web site that controls the virtual directory", modularizeType: ColumnModularizeType.Column), | ||
221 | new ColumnDefinition("Path", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name of web directory displayed in IIS MMC applet", modularizeType: ColumnModularizeType.Property), | ||
222 | new ColumnDefinition("DirProperties_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "IIsWebDirProperties", keyColumn: 1, description: "Foreign key referencing possible security information for the virtual directory", modularizeType: ColumnModularizeType.Column), | ||
223 | new ColumnDefinition("Application_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "IIsWebApplication", keyColumn: 1, description: "Foreign key referencing possible ASP application for the virtual directory. This column is currently unused, but maintained for compatibility reasons.", modularizeType: ColumnModularizeType.Column), | ||
224 | }, | ||
225 | tupleDefinitionName: "IIsWebDir", | ||
226 | tupleIdIsPrimaryKey: true | ||
227 | ); | ||
228 | |||
229 | public static readonly TableDefinition IIsWebError = new TableDefinition( | ||
230 | "IIsWebError", | ||
231 | new[] | ||
232 | { | ||
233 | new ColumnDefinition("ErrorCode", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, minValue: 400, maxValue: 599, description: "HTTP status code indicating error."), | ||
234 | new ColumnDefinition("SubCode", ColumnType.Number, 4, primaryKey: true, nullable: false, ColumnCategory.Unknown, description: "HTTP sub-status code indicating error."), | ||
235 | new ColumnDefinition("ParentType", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, possibilities: "1;2", description: "Type of parent: 1=vdir, 2=web"), | ||
236 | new ColumnDefinition("ParentValue", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the parent value.", modularizeType: ColumnModularizeType.Column), | ||
237 | new ColumnDefinition("File", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Path to file for this custom error (usually file property: [#file]). Must be null if URL is not null."), | ||
238 | new ColumnDefinition("URL", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "URL for this custom error. Must be null if File is not null."), | ||
239 | }, | ||
240 | tupleDefinitionName: "IIsWebError", | ||
241 | tupleIdIsPrimaryKey: false | ||
242 | ); | ||
243 | |||
244 | public static readonly TableDefinition IIsHttpHeader = new TableDefinition( | ||
245 | "IIsHttpHeader", | ||
246 | new[] | ||
247 | { | ||
248 | new ColumnDefinition("HttpHeader", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
249 | new ColumnDefinition("ParentType", ColumnType.Number, 2, primaryKey: true, nullable: false, ColumnCategory.Unknown, possibilities: "1;2", description: "Type of parent: 1=vdir, 2=web"), | ||
250 | new ColumnDefinition("ParentValue", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Name of the parent value.", modularizeType: ColumnModularizeType.Column), | ||
251 | new ColumnDefinition("Name", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Name of the HTTP Header"), | ||
252 | new ColumnDefinition("Value", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "URL for this custom error. Must be null if File is not null."), | ||
253 | new ColumnDefinition("Attributes", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 0, description: "Attributes for HTTP Header: none"), | ||
254 | new ColumnDefinition("Sequence", ColumnType.Number, 2, primaryKey: false, nullable: true, ColumnCategory.Unknown, description: "Order to add the HTTP Headers."), | ||
255 | }, | ||
256 | tupleDefinitionName: "IIsHttpHeader", | ||
257 | tupleIdIsPrimaryKey: false | ||
258 | ); | ||
259 | |||
260 | public static readonly TableDefinition IIsWebServiceExtension = new TableDefinition( | ||
261 | "IIsWebServiceExtension", | ||
262 | new[] | ||
263 | { | ||
264 | new ColumnDefinition("WebServiceExtension", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
265 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the WebServiceExtension handler", modularizeType: ColumnModularizeType.Column), | ||
266 | new ColumnDefinition("File", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Path to handler (usually file property: [#file])", modularizeType: ColumnModularizeType.Property), | ||
267 | new ColumnDefinition("Description", ColumnType.Localized, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "Description displayed in WebServiceExtension Wizard", modularizeType: ColumnModularizeType.Property), | ||
268 | new ColumnDefinition("Group", ColumnType.String, 255, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "String used to identify groups of extensions.", modularizeType: ColumnModularizeType.Property), | ||
269 | new ColumnDefinition("Attributes", ColumnType.Number, 1, primaryKey: false, nullable: false, ColumnCategory.Unknown, minValue: 0, maxValue: 3, description: "Attributes for WebServiceExtension: 1 = Allow, 2 = UIDeletable"), | ||
270 | }, | ||
271 | tupleDefinitionName: "IIsWebServiceExtension", | ||
272 | tupleIdIsPrimaryKey: true | ||
273 | ); | ||
274 | |||
275 | public static readonly TableDefinition IIsWebVirtualDir = new TableDefinition( | ||
276 | "IIsWebVirtualDir", | ||
277 | new[] | ||
278 | { | ||
279 | new ColumnDefinition("VirtualDir", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
280 | new ColumnDefinition("Component_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Component", keyColumn: 1, description: "Foreign key referencing Component that controls the virtual directory", modularizeType: ColumnModularizeType.Column), | ||
281 | new ColumnDefinition("Web_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "IIsWebSite", keyColumn: 1, description: "Foreign key referencing web site that controls the virtual directory", modularizeType: ColumnModularizeType.Column), | ||
282 | new ColumnDefinition("Alias", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Formatted, description: "Name of virtual directory displayed in IIS MMC applet", modularizeType: ColumnModularizeType.Property), | ||
283 | new ColumnDefinition("Directory_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "Directory", keyColumn: 1, description: "Foreign key referencing directory that the virtual directory points at", modularizeType: ColumnModularizeType.Column), | ||
284 | new ColumnDefinition("DirProperties_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "IIsWebDirProperties", keyColumn: 1, description: "Foreign key referencing possible security information for the virtual directory", modularizeType: ColumnModularizeType.Column), | ||
285 | new ColumnDefinition("Application_", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Identifier, keyTable: "IIsWebApplication", keyColumn: 1, description: "Foreign key referencing possible ASP application for the virtual directory", modularizeType: ColumnModularizeType.Column), | ||
286 | }, | ||
287 | tupleDefinitionName: "IIsWebVirtualDir", | ||
288 | tupleIdIsPrimaryKey: true | ||
289 | ); | ||
290 | |||
291 | public static readonly TableDefinition IIsWebLog = new TableDefinition( | ||
292 | "IIsWebLog", | ||
293 | new[] | ||
294 | { | ||
295 | new ColumnDefinition("Log", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Primary key, non-localized token", modularizeType: ColumnModularizeType.Column), | ||
296 | new ColumnDefinition("Format", ColumnType.String, 255, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Type of log format"), | ||
297 | }, | ||
298 | tupleDefinitionName: "IIsWebLog", | ||
299 | tupleIdIsPrimaryKey: true | ||
300 | ); | ||
301 | |||
302 | public static readonly TableDefinition[] All = new[] | ||
303 | { | ||
304 | Certificate, | ||
305 | CertificateHash, | ||
306 | IIsWebSiteCertificates, | ||
307 | IIsAppPool, | ||
308 | IIsMimeMap, | ||
309 | IIsProperty, | ||
310 | IIsWebDirProperties, | ||
311 | IIsWebAddress, | ||
312 | IIsWebSite, | ||
313 | IIsWebApplication, | ||
314 | IIsWebApplicationExtension, | ||
315 | IIsFilter, | ||
316 | IIsWebDir, | ||
317 | IIsWebError, | ||
318 | IIsHttpHeader, | ||
319 | IIsWebServiceExtension, | ||
320 | IIsWebVirtualDir, | ||
321 | IIsWebLog, | ||
322 | }; | ||
323 | } | ||
324 | } | ||
diff --git a/src/wixext/IisWindowsInstallerBackendBinderExtension.cs b/src/wixext/IisWindowsInstallerBackendBinderExtension.cs index 50571c34..29d34a09 100644 --- a/src/wixext/IisWindowsInstallerBackendBinderExtension.cs +++ b/src/wixext/IisWindowsInstallerBackendBinderExtension.cs | |||
@@ -1,34 +1,13 @@ | |||
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 | ||
3 | namespace WixToolset.Iis | 3 | namespace WixToolset.Iis |
4 | { | 4 | { |
5 | using System.Collections.Generic; | 5 | using System.Collections.Generic; |
6 | using System.Linq; | ||
7 | using System.Xml; | ||
8 | using WixToolset.Data; | ||
9 | using WixToolset.Data.WindowsInstaller; | 6 | using WixToolset.Data.WindowsInstaller; |
10 | using WixToolset.Extensibility; | 7 | using WixToolset.Extensibility; |
11 | 8 | ||
12 | public class IisWindowsInstallerBackendBinderExtension : BaseWindowsInstallerBackendBinderExtension | 9 | public class IisWindowsInstallerBackendBinderExtension : BaseWindowsInstallerBackendBinderExtension |
13 | { | 10 | { |
14 | private static readonly TableDefinition[] Tables = LoadTables(); | 11 | public override IEnumerable<TableDefinition> TableDefinitions => IisTableDefinitions.All; |
15 | |||
16 | public override IEnumerable<TableDefinition> TableDefinitions { get => Tables; } | ||
17 | |||
18 | public override bool TryAddTupleToOutput(IntermediateTuple tuple, WindowsInstallerData output) | ||
19 | { | ||
20 | var columnZeroIsId = tuple.Id != null; | ||
21 | return this.BackendHelper.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, this.TableDefinitions, columnZeroIsId); | ||
22 | } | ||
23 | |||
24 | private static TableDefinition[] LoadTables() | ||
25 | { | ||
26 | using (var resourceStream = typeof(IisWindowsInstallerBackendBinderExtension).Assembly.GetManifestResourceStream("WixToolset.Iis.tables.xml")) | ||
27 | using (var reader = XmlReader.Create(resourceStream)) | ||
28 | { | ||
29 | var tables = TableDefinitionCollection.Load(reader); | ||
30 | return tables.ToArray(); | ||
31 | } | ||
32 | } | ||
33 | } | 12 | } |
34 | } | 13 | } |
diff --git a/src/wixext/Tuples/CertificateHashTuple.cs b/src/wixext/Tuples/CertificateHashTuple.cs index 6df4c88c..11f0592f 100644 --- a/src/wixext/Tuples/CertificateHashTuple.cs +++ b/src/wixext/Tuples/CertificateHashTuple.cs | |||
@@ -11,7 +11,7 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.CertificateHash.ToString(), | 11 | IisTupleDefinitionType.CertificateHash.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(CertificateHashTupleFields.Certificate_), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(CertificateHashTupleFields.CertificateRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(CertificateHashTupleFields.Hash), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(CertificateHashTupleFields.Hash), IntermediateFieldType.String), |
16 | }, | 16 | }, |
17 | typeof(CertificateHashTuple)); | 17 | typeof(CertificateHashTuple)); |
@@ -24,7 +24,7 @@ namespace WixToolset.Iis.Tuples | |||
24 | 24 | ||
25 | public enum CertificateHashTupleFields | 25 | public enum CertificateHashTupleFields |
26 | { | 26 | { |
27 | Certificate_, | 27 | CertificateRef, |
28 | Hash, | 28 | Hash, |
29 | } | 29 | } |
30 | 30 | ||
@@ -40,10 +40,10 @@ namespace WixToolset.Iis.Tuples | |||
40 | 40 | ||
41 | public IntermediateField this[CertificateHashTupleFields index] => this.Fields[(int)index]; | 41 | public IntermediateField this[CertificateHashTupleFields index] => this.Fields[(int)index]; |
42 | 42 | ||
43 | public string Certificate_ | 43 | public string CertificateRef |
44 | { | 44 | { |
45 | get => this.Fields[(int)CertificateHashTupleFields.Certificate_].AsString(); | 45 | get => this.Fields[(int)CertificateHashTupleFields.CertificateRef].AsString(); |
46 | set => this.Set((int)CertificateHashTupleFields.Certificate_, value); | 46 | set => this.Set((int)CertificateHashTupleFields.CertificateRef, value); |
47 | } | 47 | } |
48 | 48 | ||
49 | public string Hash | 49 | public string Hash |
diff --git a/src/wixext/Tuples/CertificateTuple.cs b/src/wixext/Tuples/CertificateTuple.cs index 9e04b783..480a3569 100644 --- a/src/wixext/Tuples/CertificateTuple.cs +++ b/src/wixext/Tuples/CertificateTuple.cs | |||
@@ -11,13 +11,12 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.Certificate.ToString(), | 11 | IisTupleDefinitionType.Certificate.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.Certificate), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.Component_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.Name), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.Name), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.StoreLocation), IntermediateFieldType.Number), | 16 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.StoreLocation), IntermediateFieldType.Number), |
18 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.StoreName), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.StoreName), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.Attributes), IntermediateFieldType.Number), | 18 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.Attributes), IntermediateFieldType.Number), |
20 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.Binary_), IntermediateFieldType.String), | 19 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.BinaryRef), IntermediateFieldType.String), |
21 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.CertificatePath), IntermediateFieldType.String), | 20 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.CertificatePath), IntermediateFieldType.String), |
22 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.PFXPassword), IntermediateFieldType.String), | 21 | new IntermediateFieldDefinition(nameof(CertificateTupleFields.PFXPassword), IntermediateFieldType.String), |
23 | }, | 22 | }, |
@@ -31,13 +30,12 @@ namespace WixToolset.Iis.Tuples | |||
31 | 30 | ||
32 | public enum CertificateTupleFields | 31 | public enum CertificateTupleFields |
33 | { | 32 | { |
34 | Certificate, | 33 | ComponentRef, |
35 | Component_, | ||
36 | Name, | 34 | Name, |
37 | StoreLocation, | 35 | StoreLocation, |
38 | StoreName, | 36 | StoreName, |
39 | Attributes, | 37 | Attributes, |
40 | Binary_, | 38 | BinaryRef, |
41 | CertificatePath, | 39 | CertificatePath, |
42 | PFXPassword, | 40 | PFXPassword, |
43 | } | 41 | } |
@@ -54,16 +52,10 @@ namespace WixToolset.Iis.Tuples | |||
54 | 52 | ||
55 | public IntermediateField this[CertificateTupleFields index] => this.Fields[(int)index]; | 53 | public IntermediateField this[CertificateTupleFields index] => this.Fields[(int)index]; |
56 | 54 | ||
57 | public string Certificate | 55 | public string ComponentRef |
58 | { | 56 | { |
59 | get => this.Fields[(int)CertificateTupleFields.Certificate].AsString(); | 57 | get => this.Fields[(int)CertificateTupleFields.ComponentRef].AsString(); |
60 | set => this.Set((int)CertificateTupleFields.Certificate, value); | 58 | set => this.Set((int)CertificateTupleFields.ComponentRef, value); |
61 | } | ||
62 | |||
63 | public string Component_ | ||
64 | { | ||
65 | get => this.Fields[(int)CertificateTupleFields.Component_].AsString(); | ||
66 | set => this.Set((int)CertificateTupleFields.Component_, value); | ||
67 | } | 59 | } |
68 | 60 | ||
69 | public string Name | 61 | public string Name |
@@ -90,10 +82,10 @@ namespace WixToolset.Iis.Tuples | |||
90 | set => this.Set((int)CertificateTupleFields.Attributes, value); | 82 | set => this.Set((int)CertificateTupleFields.Attributes, value); |
91 | } | 83 | } |
92 | 84 | ||
93 | public string Binary_ | 85 | public string BinaryRef |
94 | { | 86 | { |
95 | get => this.Fields[(int)CertificateTupleFields.Binary_].AsString(); | 87 | get => this.Fields[(int)CertificateTupleFields.BinaryRef].AsString(); |
96 | set => this.Set((int)CertificateTupleFields.Binary_, value); | 88 | set => this.Set((int)CertificateTupleFields.BinaryRef, value); |
97 | } | 89 | } |
98 | 90 | ||
99 | public string CertificatePath | 91 | public string CertificatePath |
diff --git a/src/wixext/Tuples/IIsAppPoolTuple.cs b/src/wixext/Tuples/IIsAppPoolTuple.cs index 10a00f50..d14ec7ad 100644 --- a/src/wixext/Tuples/IIsAppPoolTuple.cs +++ b/src/wixext/Tuples/IIsAppPoolTuple.cs | |||
@@ -11,11 +11,10 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsAppPool.ToString(), | 11 | IisTupleDefinitionType.IIsAppPool.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.AppPool), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Name), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Name), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Component_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.ComponentRef), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Attributes), IntermediateFieldType.Number), | 16 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Attributes), IntermediateFieldType.Number), |
18 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.User_), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.UserRef), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleMinutes), IntermediateFieldType.Number), | 18 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleMinutes), IntermediateFieldType.Number), |
20 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleRequests), IntermediateFieldType.Number), | 19 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleRequests), IntermediateFieldType.Number), |
21 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleTimes), IntermediateFieldType.String), | 20 | new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleTimes), IntermediateFieldType.String), |
@@ -38,11 +37,10 @@ namespace WixToolset.Iis.Tuples | |||
38 | 37 | ||
39 | public enum IIsAppPoolTupleFields | 38 | public enum IIsAppPoolTupleFields |
40 | { | 39 | { |
41 | AppPool, | ||
42 | Name, | 40 | Name, |
43 | Component_, | 41 | ComponentRef, |
44 | Attributes, | 42 | Attributes, |
45 | User_, | 43 | UserRef, |
46 | RecycleMinutes, | 44 | RecycleMinutes, |
47 | RecycleRequests, | 45 | RecycleRequests, |
48 | RecycleTimes, | 46 | RecycleTimes, |
@@ -68,22 +66,16 @@ namespace WixToolset.Iis.Tuples | |||
68 | 66 | ||
69 | public IntermediateField this[IIsAppPoolTupleFields index] => this.Fields[(int)index]; | 67 | public IntermediateField this[IIsAppPoolTupleFields index] => this.Fields[(int)index]; |
70 | 68 | ||
71 | public string AppPool | ||
72 | { | ||
73 | get => this.Fields[(int)IIsAppPoolTupleFields.AppPool].AsString(); | ||
74 | set => this.Set((int)IIsAppPoolTupleFields.AppPool, value); | ||
75 | } | ||
76 | |||
77 | public string Name | 69 | public string Name |
78 | { | 70 | { |
79 | get => this.Fields[(int)IIsAppPoolTupleFields.Name].AsString(); | 71 | get => this.Fields[(int)IIsAppPoolTupleFields.Name].AsString(); |
80 | set => this.Set((int)IIsAppPoolTupleFields.Name, value); | 72 | set => this.Set((int)IIsAppPoolTupleFields.Name, value); |
81 | } | 73 | } |
82 | 74 | ||
83 | public string Component_ | 75 | public string ComponentRef |
84 | { | 76 | { |
85 | get => this.Fields[(int)IIsAppPoolTupleFields.Component_].AsString(); | 77 | get => this.Fields[(int)IIsAppPoolTupleFields.ComponentRef].AsString(); |
86 | set => this.Set((int)IIsAppPoolTupleFields.Component_, value); | 78 | set => this.Set((int)IIsAppPoolTupleFields.ComponentRef, value); |
87 | } | 79 | } |
88 | 80 | ||
89 | public int Attributes | 81 | public int Attributes |
@@ -92,10 +84,10 @@ namespace WixToolset.Iis.Tuples | |||
92 | set => this.Set((int)IIsAppPoolTupleFields.Attributes, value); | 84 | set => this.Set((int)IIsAppPoolTupleFields.Attributes, value); |
93 | } | 85 | } |
94 | 86 | ||
95 | public string User_ | 87 | public string UserRef |
96 | { | 88 | { |
97 | get => this.Fields[(int)IIsAppPoolTupleFields.User_].AsString(); | 89 | get => this.Fields[(int)IIsAppPoolTupleFields.UserRef].AsString(); |
98 | set => this.Set((int)IIsAppPoolTupleFields.User_, value); | 90 | set => this.Set((int)IIsAppPoolTupleFields.UserRef, value); |
99 | } | 91 | } |
100 | 92 | ||
101 | public int RecycleMinutes | 93 | public int RecycleMinutes |
diff --git a/src/wixext/Tuples/IIsFilterTuple.cs b/src/wixext/Tuples/IIsFilterTuple.cs index 9c651144..5dda8878 100644 --- a/src/wixext/Tuples/IIsFilterTuple.cs +++ b/src/wixext/Tuples/IIsFilterTuple.cs | |||
@@ -11,11 +11,10 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsFilter.ToString(), | 11 | IisTupleDefinitionType.IIsFilter.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Filter), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Name), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Name), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Component_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.ComponentRef), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Path), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Path), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Web_), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.WebRef), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Description), IntermediateFieldType.String), | 18 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Description), IntermediateFieldType.String), |
20 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Flags), IntermediateFieldType.Number), | 19 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Flags), IntermediateFieldType.Number), |
21 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.LoadOrder), IntermediateFieldType.Number), | 20 | new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.LoadOrder), IntermediateFieldType.Number), |
@@ -30,11 +29,10 @@ namespace WixToolset.Iis.Tuples | |||
30 | 29 | ||
31 | public enum IIsFilterTupleFields | 30 | public enum IIsFilterTupleFields |
32 | { | 31 | { |
33 | Filter, | ||
34 | Name, | 32 | Name, |
35 | Component_, | 33 | ComponentRef, |
36 | Path, | 34 | Path, |
37 | Web_, | 35 | WebRef, |
38 | Description, | 36 | Description, |
39 | Flags, | 37 | Flags, |
40 | LoadOrder, | 38 | LoadOrder, |
@@ -52,22 +50,16 @@ namespace WixToolset.Iis.Tuples | |||
52 | 50 | ||
53 | public IntermediateField this[IIsFilterTupleFields index] => this.Fields[(int)index]; | 51 | public IntermediateField this[IIsFilterTupleFields index] => this.Fields[(int)index]; |
54 | 52 | ||
55 | public string Filter | ||
56 | { | ||
57 | get => this.Fields[(int)IIsFilterTupleFields.Filter].AsString(); | ||
58 | set => this.Set((int)IIsFilterTupleFields.Filter, value); | ||
59 | } | ||
60 | |||
61 | public string Name | 53 | public string Name |
62 | { | 54 | { |
63 | get => this.Fields[(int)IIsFilterTupleFields.Name].AsString(); | 55 | get => this.Fields[(int)IIsFilterTupleFields.Name].AsString(); |
64 | set => this.Set((int)IIsFilterTupleFields.Name, value); | 56 | set => this.Set((int)IIsFilterTupleFields.Name, value); |
65 | } | 57 | } |
66 | 58 | ||
67 | public string Component_ | 59 | public string ComponentRef |
68 | { | 60 | { |
69 | get => this.Fields[(int)IIsFilterTupleFields.Component_].AsString(); | 61 | get => this.Fields[(int)IIsFilterTupleFields.ComponentRef].AsString(); |
70 | set => this.Set((int)IIsFilterTupleFields.Component_, value); | 62 | set => this.Set((int)IIsFilterTupleFields.ComponentRef, value); |
71 | } | 63 | } |
72 | 64 | ||
73 | public string Path | 65 | public string Path |
@@ -76,10 +68,10 @@ namespace WixToolset.Iis.Tuples | |||
76 | set => this.Set((int)IIsFilterTupleFields.Path, value); | 68 | set => this.Set((int)IIsFilterTupleFields.Path, value); |
77 | } | 69 | } |
78 | 70 | ||
79 | public string Web_ | 71 | public string WebRef |
80 | { | 72 | { |
81 | get => this.Fields[(int)IIsFilterTupleFields.Web_].AsString(); | 73 | get => this.Fields[(int)IIsFilterTupleFields.WebRef].AsString(); |
82 | set => this.Set((int)IIsFilterTupleFields.Web_, value); | 74 | set => this.Set((int)IIsFilterTupleFields.WebRef, value); |
83 | } | 75 | } |
84 | 76 | ||
85 | public string Description | 77 | public string Description |
diff --git a/src/wixext/Tuples/IIsMimeMapTuple.cs b/src/wixext/Tuples/IIsMimeMapTuple.cs index c27aef21..f1a825b0 100644 --- a/src/wixext/Tuples/IIsMimeMapTuple.cs +++ b/src/wixext/Tuples/IIsMimeMapTuple.cs | |||
@@ -11,7 +11,6 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsMimeMap.ToString(), | 11 | IisTupleDefinitionType.IIsMimeMap.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.MimeMap), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.ParentType), IntermediateFieldType.Number), | 14 | new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.ParentType), IntermediateFieldType.Number), |
16 | new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.ParentValue), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.ParentValue), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.MimeType), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.MimeType), IntermediateFieldType.String), |
@@ -27,7 +26,6 @@ namespace WixToolset.Iis.Tuples | |||
27 | 26 | ||
28 | public enum IIsMimeMapTupleFields | 27 | public enum IIsMimeMapTupleFields |
29 | { | 28 | { |
30 | MimeMap, | ||
31 | ParentType, | 29 | ParentType, |
32 | ParentValue, | 30 | ParentValue, |
33 | MimeType, | 31 | MimeType, |
@@ -46,12 +44,6 @@ namespace WixToolset.Iis.Tuples | |||
46 | 44 | ||
47 | public IntermediateField this[IIsMimeMapTupleFields index] => this.Fields[(int)index]; | 45 | public IntermediateField this[IIsMimeMapTupleFields index] => this.Fields[(int)index]; |
48 | 46 | ||
49 | public string MimeMap | ||
50 | { | ||
51 | get => this.Fields[(int)IIsMimeMapTupleFields.MimeMap].AsString(); | ||
52 | set => this.Set((int)IIsMimeMapTupleFields.MimeMap, value); | ||
53 | } | ||
54 | |||
55 | public int ParentType | 47 | public int ParentType |
56 | { | 48 | { |
57 | get => this.Fields[(int)IIsMimeMapTupleFields.ParentType].AsNumber(); | 49 | get => this.Fields[(int)IIsMimeMapTupleFields.ParentType].AsNumber(); |
diff --git a/src/wixext/Tuples/IIsPropertyTuple.cs b/src/wixext/Tuples/IIsPropertyTuple.cs index b02a0b4a..28e882bf 100644 --- a/src/wixext/Tuples/IIsPropertyTuple.cs +++ b/src/wixext/Tuples/IIsPropertyTuple.cs | |||
@@ -11,8 +11,7 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsProperty.ToString(), | 11 | IisTupleDefinitionType.IIsProperty.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Property), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Component_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Attributes), IntermediateFieldType.Number), | 15 | new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Attributes), IntermediateFieldType.Number), |
17 | new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Value), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Value), IntermediateFieldType.String), |
18 | }, | 17 | }, |
@@ -26,8 +25,7 @@ namespace WixToolset.Iis.Tuples | |||
26 | 25 | ||
27 | public enum IIsPropertyTupleFields | 26 | public enum IIsPropertyTupleFields |
28 | { | 27 | { |
29 | Property, | 28 | ComponentRef, |
30 | Component_, | ||
31 | Attributes, | 29 | Attributes, |
32 | Value, | 30 | Value, |
33 | } | 31 | } |
@@ -44,16 +42,10 @@ namespace WixToolset.Iis.Tuples | |||
44 | 42 | ||
45 | public IntermediateField this[IIsPropertyTupleFields index] => this.Fields[(int)index]; | 43 | public IntermediateField this[IIsPropertyTupleFields index] => this.Fields[(int)index]; |
46 | 44 | ||
47 | public string Property | 45 | public string ComponentRef |
48 | { | 46 | { |
49 | get => this.Fields[(int)IIsPropertyTupleFields.Property].AsString(); | 47 | get => this.Fields[(int)IIsPropertyTupleFields.ComponentRef].AsString(); |
50 | set => this.Set((int)IIsPropertyTupleFields.Property, value); | 48 | set => this.Set((int)IIsPropertyTupleFields.ComponentRef, value); |
51 | } | ||
52 | |||
53 | public string Component_ | ||
54 | { | ||
55 | get => this.Fields[(int)IIsPropertyTupleFields.Component_].AsString(); | ||
56 | set => this.Set((int)IIsPropertyTupleFields.Component_, value); | ||
57 | } | 49 | } |
58 | 50 | ||
59 | public int Attributes | 51 | public int Attributes |
diff --git a/src/wixext/Tuples/IIsWebAddressTuple.cs b/src/wixext/Tuples/IIsWebAddressTuple.cs index cb50b207..603f62cb 100644 --- a/src/wixext/Tuples/IIsWebAddressTuple.cs +++ b/src/wixext/Tuples/IIsWebAddressTuple.cs | |||
@@ -11,8 +11,7 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebAddress.ToString(), | 11 | IisTupleDefinitionType.IIsWebAddress.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Address), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.WebRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Web_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.IP), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.IP), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Port), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Port), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Header), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Header), IntermediateFieldType.String), |
@@ -28,8 +27,7 @@ namespace WixToolset.Iis.Tuples | |||
28 | 27 | ||
29 | public enum IIsWebAddressTupleFields | 28 | public enum IIsWebAddressTupleFields |
30 | { | 29 | { |
31 | Address, | 30 | WebRef, |
32 | Web_, | ||
33 | IP, | 31 | IP, |
34 | Port, | 32 | Port, |
35 | Header, | 33 | Header, |
@@ -48,16 +46,10 @@ namespace WixToolset.Iis.Tuples | |||
48 | 46 | ||
49 | public IntermediateField this[IIsWebAddressTupleFields index] => this.Fields[(int)index]; | 47 | public IntermediateField this[IIsWebAddressTupleFields index] => this.Fields[(int)index]; |
50 | 48 | ||
51 | public string Address | 49 | public string WebRef |
52 | { | 50 | { |
53 | get => this.Fields[(int)IIsWebAddressTupleFields.Address].AsString(); | 51 | get => this.Fields[(int)IIsWebAddressTupleFields.WebRef].AsString(); |
54 | set => this.Set((int)IIsWebAddressTupleFields.Address, value); | 52 | set => this.Set((int)IIsWebAddressTupleFields.WebRef, value); |
55 | } | ||
56 | |||
57 | public string Web_ | ||
58 | { | ||
59 | get => this.Fields[(int)IIsWebAddressTupleFields.Web_].AsString(); | ||
60 | set => this.Set((int)IIsWebAddressTupleFields.Web_, value); | ||
61 | } | 53 | } |
62 | 54 | ||
63 | public string IP | 55 | public string IP |
diff --git a/src/wixext/Tuples/IIsWebApplicationExtensionTuple.cs b/src/wixext/Tuples/IIsWebApplicationExtensionTuple.cs index 5ae60f57..8ab78dad 100644 --- a/src/wixext/Tuples/IIsWebApplicationExtensionTuple.cs +++ b/src/wixext/Tuples/IIsWebApplicationExtensionTuple.cs | |||
@@ -11,7 +11,7 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebApplicationExtension.ToString(), | 11 | IisTupleDefinitionType.IIsWebApplicationExtension.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Application_), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.ApplicationRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Extension), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Extension), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Verbs), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Verbs), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Executable), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Executable), IntermediateFieldType.String), |
@@ -27,7 +27,7 @@ namespace WixToolset.Iis.Tuples | |||
27 | 27 | ||
28 | public enum IIsWebApplicationExtensionTupleFields | 28 | public enum IIsWebApplicationExtensionTupleFields |
29 | { | 29 | { |
30 | Application_, | 30 | ApplicationRef, |
31 | Extension, | 31 | Extension, |
32 | Verbs, | 32 | Verbs, |
33 | Executable, | 33 | Executable, |
@@ -46,10 +46,10 @@ namespace WixToolset.Iis.Tuples | |||
46 | 46 | ||
47 | public IntermediateField this[IIsWebApplicationExtensionTupleFields index] => this.Fields[(int)index]; | 47 | public IntermediateField this[IIsWebApplicationExtensionTupleFields index] => this.Fields[(int)index]; |
48 | 48 | ||
49 | public string Application_ | 49 | public string ApplicationRef |
50 | { | 50 | { |
51 | get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Application_].AsString(); | 51 | get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.ApplicationRef].AsString(); |
52 | set => this.Set((int)IIsWebApplicationExtensionTupleFields.Application_, value); | 52 | set => this.Set((int)IIsWebApplicationExtensionTupleFields.ApplicationRef, value); |
53 | } | 53 | } |
54 | 54 | ||
55 | public string Extension | 55 | public string Extension |
diff --git a/src/wixext/Tuples/IIsWebApplicationTuple.cs b/src/wixext/Tuples/IIsWebApplicationTuple.cs index 403969b7..6af3a2f7 100644 --- a/src/wixext/Tuples/IIsWebApplicationTuple.cs +++ b/src/wixext/Tuples/IIsWebApplicationTuple.cs | |||
@@ -11,7 +11,6 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebApplication.ToString(), | 11 | IisTupleDefinitionType.IIsWebApplication.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Application), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Name), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Name), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Isolation), IntermediateFieldType.Number), | 15 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Isolation), IntermediateFieldType.Number), |
17 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.AllowSessions), IntermediateFieldType.Number), | 16 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.AllowSessions), IntermediateFieldType.Number), |
@@ -22,7 +21,7 @@ namespace WixToolset.Iis | |||
22 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ScriptTimeout), IntermediateFieldType.Number), | 21 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ScriptTimeout), IntermediateFieldType.Number), |
23 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ServerDebugging), IntermediateFieldType.Number), | 22 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ServerDebugging), IntermediateFieldType.Number), |
24 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ClientDebugging), IntermediateFieldType.Number), | 23 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ClientDebugging), IntermediateFieldType.Number), |
25 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.AppPool_), IntermediateFieldType.String), | 24 | new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.AppPoolRef), IntermediateFieldType.String), |
26 | }, | 25 | }, |
27 | typeof(IIsWebApplicationTuple)); | 26 | typeof(IIsWebApplicationTuple)); |
28 | } | 27 | } |
@@ -34,7 +33,6 @@ namespace WixToolset.Iis.Tuples | |||
34 | 33 | ||
35 | public enum IIsWebApplicationTupleFields | 34 | public enum IIsWebApplicationTupleFields |
36 | { | 35 | { |
37 | Application, | ||
38 | Name, | 36 | Name, |
39 | Isolation, | 37 | Isolation, |
40 | AllowSessions, | 38 | AllowSessions, |
@@ -45,7 +43,7 @@ namespace WixToolset.Iis.Tuples | |||
45 | ScriptTimeout, | 43 | ScriptTimeout, |
46 | ServerDebugging, | 44 | ServerDebugging, |
47 | ClientDebugging, | 45 | ClientDebugging, |
48 | AppPool_, | 46 | AppPoolRef, |
49 | } | 47 | } |
50 | 48 | ||
51 | public class IIsWebApplicationTuple : IntermediateTuple | 49 | public class IIsWebApplicationTuple : IntermediateTuple |
@@ -60,12 +58,6 @@ namespace WixToolset.Iis.Tuples | |||
60 | 58 | ||
61 | public IntermediateField this[IIsWebApplicationTupleFields index] => this.Fields[(int)index]; | 59 | public IntermediateField this[IIsWebApplicationTupleFields index] => this.Fields[(int)index]; |
62 | 60 | ||
63 | public string Application | ||
64 | { | ||
65 | get => this.Fields[(int)IIsWebApplicationTupleFields.Application].AsString(); | ||
66 | set => this.Set((int)IIsWebApplicationTupleFields.Application, value); | ||
67 | } | ||
68 | |||
69 | public string Name | 61 | public string Name |
70 | { | 62 | { |
71 | get => this.Fields[(int)IIsWebApplicationTupleFields.Name].AsString(); | 63 | get => this.Fields[(int)IIsWebApplicationTupleFields.Name].AsString(); |
@@ -126,10 +118,10 @@ namespace WixToolset.Iis.Tuples | |||
126 | set => this.Set((int)IIsWebApplicationTupleFields.ClientDebugging, value); | 118 | set => this.Set((int)IIsWebApplicationTupleFields.ClientDebugging, value); |
127 | } | 119 | } |
128 | 120 | ||
129 | public string AppPool_ | 121 | public string AppPoolRef |
130 | { | 122 | { |
131 | get => this.Fields[(int)IIsWebApplicationTupleFields.AppPool_].AsString(); | 123 | get => this.Fields[(int)IIsWebApplicationTupleFields.AppPoolRef].AsString(); |
132 | set => this.Set((int)IIsWebApplicationTupleFields.AppPool_, value); | 124 | set => this.Set((int)IIsWebApplicationTupleFields.AppPoolRef, value); |
133 | } | 125 | } |
134 | } | 126 | } |
135 | } \ No newline at end of file | 127 | } \ No newline at end of file |
diff --git a/src/wixext/Tuples/IIsWebDirPropertiesTuple.cs b/src/wixext/Tuples/IIsWebDirPropertiesTuple.cs index 9e723775..1c7cd8bf 100644 --- a/src/wixext/Tuples/IIsWebDirPropertiesTuple.cs +++ b/src/wixext/Tuples/IIsWebDirPropertiesTuple.cs | |||
@@ -11,10 +11,9 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebDirProperties.ToString(), | 11 | IisTupleDefinitionType.IIsWebDirProperties.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.DirProperties), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Access), IntermediateFieldType.Number), | 14 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Access), IntermediateFieldType.Number), |
16 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Authorization), IntermediateFieldType.Number), | 15 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Authorization), IntermediateFieldType.Number), |
17 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AnonymousUser_), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AnonymousUserRef), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.IIsControlledPassword), IntermediateFieldType.Number), | 17 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.IIsControlledPassword), IntermediateFieldType.Number), |
19 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.LogVisits), IntermediateFieldType.Number), | 18 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.LogVisits), IntermediateFieldType.Number), |
20 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Index), IntermediateFieldType.Number), | 19 | new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Index), IntermediateFieldType.Number), |
@@ -37,10 +36,9 @@ namespace WixToolset.Iis.Tuples | |||
37 | 36 | ||
38 | public enum IIsWebDirPropertiesTupleFields | 37 | public enum IIsWebDirPropertiesTupleFields |
39 | { | 38 | { |
40 | DirProperties, | ||
41 | Access, | 39 | Access, |
42 | Authorization, | 40 | Authorization, |
43 | AnonymousUser_, | 41 | AnonymousUserRef, |
44 | IIsControlledPassword, | 42 | IIsControlledPassword, |
45 | LogVisits, | 43 | LogVisits, |
46 | Index, | 44 | Index, |
@@ -66,12 +64,6 @@ namespace WixToolset.Iis.Tuples | |||
66 | 64 | ||
67 | public IntermediateField this[IIsWebDirPropertiesTupleFields index] => this.Fields[(int)index]; | 65 | public IntermediateField this[IIsWebDirPropertiesTupleFields index] => this.Fields[(int)index]; |
68 | 66 | ||
69 | public string DirProperties | ||
70 | { | ||
71 | get => this.Fields[(int)IIsWebDirPropertiesTupleFields.DirProperties].AsString(); | ||
72 | set => this.Set((int)IIsWebDirPropertiesTupleFields.DirProperties, value); | ||
73 | } | ||
74 | |||
75 | public int Access | 67 | public int Access |
76 | { | 68 | { |
77 | get => this.Fields[(int)IIsWebDirPropertiesTupleFields.Access].AsNumber(); | 69 | get => this.Fields[(int)IIsWebDirPropertiesTupleFields.Access].AsNumber(); |
@@ -84,10 +76,10 @@ namespace WixToolset.Iis.Tuples | |||
84 | set => this.Set((int)IIsWebDirPropertiesTupleFields.Authorization, value); | 76 | set => this.Set((int)IIsWebDirPropertiesTupleFields.Authorization, value); |
85 | } | 77 | } |
86 | 78 | ||
87 | public string AnonymousUser_ | 79 | public string AnonymousUserRef |
88 | { | 80 | { |
89 | get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AnonymousUser_].AsString(); | 81 | get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AnonymousUserRef].AsString(); |
90 | set => this.Set((int)IIsWebDirPropertiesTupleFields.AnonymousUser_, value); | 82 | set => this.Set((int)IIsWebDirPropertiesTupleFields.AnonymousUserRef, value); |
91 | } | 83 | } |
92 | 84 | ||
93 | public int IIsControlledPassword | 85 | public int IIsControlledPassword |
diff --git a/src/wixext/Tuples/IIsWebDirTuple.cs b/src/wixext/Tuples/IIsWebDirTuple.cs index 6e04b337..471fe223 100644 --- a/src/wixext/Tuples/IIsWebDirTuple.cs +++ b/src/wixext/Tuples/IIsWebDirTuple.cs | |||
@@ -11,12 +11,11 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebDir.ToString(), | 11 | IisTupleDefinitionType.IIsWebDir.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.WebDir), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Component_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.WebRef), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Web_), IntermediateFieldType.String), | ||
17 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Path), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Path), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.DirProperties_), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.DirPropertiesRef), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Application_), IntermediateFieldType.String), | 18 | new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.ApplicationRef), IntermediateFieldType.String), |
20 | }, | 19 | }, |
21 | typeof(IIsWebDirTuple)); | 20 | typeof(IIsWebDirTuple)); |
22 | } | 21 | } |
@@ -28,12 +27,11 @@ namespace WixToolset.Iis.Tuples | |||
28 | 27 | ||
29 | public enum IIsWebDirTupleFields | 28 | public enum IIsWebDirTupleFields |
30 | { | 29 | { |
31 | WebDir, | 30 | ComponentRef, |
32 | Component_, | 31 | WebRef, |
33 | Web_, | ||
34 | Path, | 32 | Path, |
35 | DirProperties_, | 33 | DirPropertiesRef, |
36 | Application_, | 34 | ApplicationRef, |
37 | } | 35 | } |
38 | 36 | ||
39 | public class IIsWebDirTuple : IntermediateTuple | 37 | public class IIsWebDirTuple : IntermediateTuple |
@@ -48,22 +46,16 @@ namespace WixToolset.Iis.Tuples | |||
48 | 46 | ||
49 | public IntermediateField this[IIsWebDirTupleFields index] => this.Fields[(int)index]; | 47 | public IntermediateField this[IIsWebDirTupleFields index] => this.Fields[(int)index]; |
50 | 48 | ||
51 | public string WebDir | 49 | public string ComponentRef |
52 | { | 50 | { |
53 | get => this.Fields[(int)IIsWebDirTupleFields.WebDir].AsString(); | 51 | get => this.Fields[(int)IIsWebDirTupleFields.ComponentRef].AsString(); |
54 | set => this.Set((int)IIsWebDirTupleFields.WebDir, value); | 52 | set => this.Set((int)IIsWebDirTupleFields.ComponentRef, value); |
55 | } | 53 | } |
56 | 54 | ||
57 | public string Component_ | 55 | public string WebRef |
58 | { | 56 | { |
59 | get => this.Fields[(int)IIsWebDirTupleFields.Component_].AsString(); | 57 | get => this.Fields[(int)IIsWebDirTupleFields.WebRef].AsString(); |
60 | set => this.Set((int)IIsWebDirTupleFields.Component_, value); | 58 | set => this.Set((int)IIsWebDirTupleFields.WebRef, value); |
61 | } | ||
62 | |||
63 | public string Web_ | ||
64 | { | ||
65 | get => this.Fields[(int)IIsWebDirTupleFields.Web_].AsString(); | ||
66 | set => this.Set((int)IIsWebDirTupleFields.Web_, value); | ||
67 | } | 59 | } |
68 | 60 | ||
69 | public string Path | 61 | public string Path |
@@ -72,16 +64,16 @@ namespace WixToolset.Iis.Tuples | |||
72 | set => this.Set((int)IIsWebDirTupleFields.Path, value); | 64 | set => this.Set((int)IIsWebDirTupleFields.Path, value); |
73 | } | 65 | } |
74 | 66 | ||
75 | public string DirProperties_ | 67 | public string DirPropertiesRef |
76 | { | 68 | { |
77 | get => this.Fields[(int)IIsWebDirTupleFields.DirProperties_].AsString(); | 69 | get => this.Fields[(int)IIsWebDirTupleFields.DirPropertiesRef].AsString(); |
78 | set => this.Set((int)IIsWebDirTupleFields.DirProperties_, value); | 70 | set => this.Set((int)IIsWebDirTupleFields.DirPropertiesRef, value); |
79 | } | 71 | } |
80 | 72 | ||
81 | public string Application_ | 73 | public string ApplicationRef |
82 | { | 74 | { |
83 | get => this.Fields[(int)IIsWebDirTupleFields.Application_].AsString(); | 75 | get => this.Fields[(int)IIsWebDirTupleFields.ApplicationRef].AsString(); |
84 | set => this.Set((int)IIsWebDirTupleFields.Application_, value); | 76 | set => this.Set((int)IIsWebDirTupleFields.ApplicationRef, value); |
85 | } | 77 | } |
86 | } | 78 | } |
87 | } \ No newline at end of file | 79 | } \ No newline at end of file |
diff --git a/src/wixext/Tuples/IIsWebLogTuple.cs b/src/wixext/Tuples/IIsWebLogTuple.cs index 1dfe0862..ec912ac5 100644 --- a/src/wixext/Tuples/IIsWebLogTuple.cs +++ b/src/wixext/Tuples/IIsWebLogTuple.cs | |||
@@ -11,7 +11,6 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebLog.ToString(), | 11 | IisTupleDefinitionType.IIsWebLog.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebLogTupleFields.Log), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(IIsWebLogTupleFields.Format), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsWebLogTupleFields.Format), IntermediateFieldType.String), |
16 | }, | 15 | }, |
17 | typeof(IIsWebLogTuple)); | 16 | typeof(IIsWebLogTuple)); |
@@ -24,7 +23,6 @@ namespace WixToolset.Iis.Tuples | |||
24 | 23 | ||
25 | public enum IIsWebLogTupleFields | 24 | public enum IIsWebLogTupleFields |
26 | { | 25 | { |
27 | Log, | ||
28 | Format, | 26 | Format, |
29 | } | 27 | } |
30 | 28 | ||
@@ -40,12 +38,6 @@ namespace WixToolset.Iis.Tuples | |||
40 | 38 | ||
41 | public IntermediateField this[IIsWebLogTupleFields index] => this.Fields[(int)index]; | 39 | public IntermediateField this[IIsWebLogTupleFields index] => this.Fields[(int)index]; |
42 | 40 | ||
43 | public string Log | ||
44 | { | ||
45 | get => this.Fields[(int)IIsWebLogTupleFields.Log].AsString(); | ||
46 | set => this.Set((int)IIsWebLogTupleFields.Log, value); | ||
47 | } | ||
48 | |||
49 | public string Format | 41 | public string Format |
50 | { | 42 | { |
51 | get => this.Fields[(int)IIsWebLogTupleFields.Format].AsString(); | 43 | get => this.Fields[(int)IIsWebLogTupleFields.Format].AsString(); |
diff --git a/src/wixext/Tuples/IIsWebServiceExtensionTuple.cs b/src/wixext/Tuples/IIsWebServiceExtensionTuple.cs index a6fec797..82d9c82a 100644 --- a/src/wixext/Tuples/IIsWebServiceExtensionTuple.cs +++ b/src/wixext/Tuples/IIsWebServiceExtensionTuple.cs | |||
@@ -11,8 +11,7 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebServiceExtension.ToString(), | 11 | IisTupleDefinitionType.IIsWebServiceExtension.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.WebServiceExtension), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Component_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.File), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.File), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Description), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Description), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Group), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Group), IntermediateFieldType.String), |
@@ -28,8 +27,7 @@ namespace WixToolset.Iis.Tuples | |||
28 | 27 | ||
29 | public enum IIsWebServiceExtensionTupleFields | 28 | public enum IIsWebServiceExtensionTupleFields |
30 | { | 29 | { |
31 | WebServiceExtension, | 30 | ComponentRef, |
32 | Component_, | ||
33 | File, | 31 | File, |
34 | Description, | 32 | Description, |
35 | Group, | 33 | Group, |
@@ -48,16 +46,10 @@ namespace WixToolset.Iis.Tuples | |||
48 | 46 | ||
49 | public IntermediateField this[IIsWebServiceExtensionTupleFields index] => this.Fields[(int)index]; | 47 | public IntermediateField this[IIsWebServiceExtensionTupleFields index] => this.Fields[(int)index]; |
50 | 48 | ||
51 | public string WebServiceExtension | 49 | public string ComponentRef |
52 | { | 50 | { |
53 | get => this.Fields[(int)IIsWebServiceExtensionTupleFields.WebServiceExtension].AsString(); | 51 | get => this.Fields[(int)IIsWebServiceExtensionTupleFields.ComponentRef].AsString(); |
54 | set => this.Set((int)IIsWebServiceExtensionTupleFields.WebServiceExtension, value); | 52 | set => this.Set((int)IIsWebServiceExtensionTupleFields.ComponentRef, value); |
55 | } | ||
56 | |||
57 | public string Component_ | ||
58 | { | ||
59 | get => this.Fields[(int)IIsWebServiceExtensionTupleFields.Component_].AsString(); | ||
60 | set => this.Set((int)IIsWebServiceExtensionTupleFields.Component_, value); | ||
61 | } | 53 | } |
62 | 54 | ||
63 | public string File | 55 | public string File |
diff --git a/src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs b/src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs index 711f745f..7e4879d7 100644 --- a/src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs +++ b/src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs | |||
@@ -11,8 +11,8 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebSiteCertificates.ToString(), | 11 | IisTupleDefinitionType.IIsWebSiteCertificates.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebSiteCertificatesTupleFields.Web_), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsWebSiteCertificatesTupleFields.WebRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(IIsWebSiteCertificatesTupleFields.Certificate_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsWebSiteCertificatesTupleFields.CertificateRef), IntermediateFieldType.String), |
16 | }, | 16 | }, |
17 | typeof(IIsWebSiteCertificatesTuple)); | 17 | typeof(IIsWebSiteCertificatesTuple)); |
18 | } | 18 | } |
@@ -24,8 +24,8 @@ namespace WixToolset.Iis.Tuples | |||
24 | 24 | ||
25 | public enum IIsWebSiteCertificatesTupleFields | 25 | public enum IIsWebSiteCertificatesTupleFields |
26 | { | 26 | { |
27 | Web_, | 27 | WebRef, |
28 | Certificate_, | 28 | CertificateRef, |
29 | } | 29 | } |
30 | 30 | ||
31 | public class IIsWebSiteCertificatesTuple : IntermediateTuple | 31 | public class IIsWebSiteCertificatesTuple : IntermediateTuple |
@@ -40,16 +40,16 @@ namespace WixToolset.Iis.Tuples | |||
40 | 40 | ||
41 | public IntermediateField this[IIsWebSiteCertificatesTupleFields index] => this.Fields[(int)index]; | 41 | public IntermediateField this[IIsWebSiteCertificatesTupleFields index] => this.Fields[(int)index]; |
42 | 42 | ||
43 | public string Web_ | 43 | public string WebRef |
44 | { | 44 | { |
45 | get => this.Fields[(int)IIsWebSiteCertificatesTupleFields.Web_].AsString(); | 45 | get => this.Fields[(int)IIsWebSiteCertificatesTupleFields.WebRef].AsString(); |
46 | set => this.Set((int)IIsWebSiteCertificatesTupleFields.Web_, value); | 46 | set => this.Set((int)IIsWebSiteCertificatesTupleFields.WebRef, value); |
47 | } | 47 | } |
48 | 48 | ||
49 | public string Certificate_ | 49 | public string CertificateRef |
50 | { | 50 | { |
51 | get => this.Fields[(int)IIsWebSiteCertificatesTupleFields.Certificate_].AsString(); | 51 | get => this.Fields[(int)IIsWebSiteCertificatesTupleFields.CertificateRef].AsString(); |
52 | set => this.Set((int)IIsWebSiteCertificatesTupleFields.Certificate_, value); | 52 | set => this.Set((int)IIsWebSiteCertificatesTupleFields.CertificateRef, value); |
53 | } | 53 | } |
54 | } | 54 | } |
55 | } \ No newline at end of file | 55 | } \ No newline at end of file |
diff --git a/src/wixext/Tuples/IIsWebSiteTuple.cs b/src/wixext/Tuples/IIsWebSiteTuple.cs index 983352a5..610f1c59 100644 --- a/src/wixext/Tuples/IIsWebSiteTuple.cs +++ b/src/wixext/Tuples/IIsWebSiteTuple.cs | |||
@@ -11,18 +11,17 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebSite.ToString(), | 11 | IisTupleDefinitionType.IIsWebSite.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Web), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Component_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Description), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Description), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.ConnectionTimeout), IntermediateFieldType.Number), | 16 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.ConnectionTimeout), IntermediateFieldType.Number), |
18 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Directory_), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.DirectoryRef), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.State), IntermediateFieldType.Number), | 18 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.State), IntermediateFieldType.Number), |
20 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Attributes), IntermediateFieldType.Number), | 19 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Attributes), IntermediateFieldType.Number), |
21 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.KeyAddress_), IntermediateFieldType.String), | 20 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.KeyAddressRef), IntermediateFieldType.String), |
22 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.DirProperties_), IntermediateFieldType.String), | 21 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.DirPropertiesRef), IntermediateFieldType.String), |
23 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Application_), IntermediateFieldType.String), | 22 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.ApplicationRef), IntermediateFieldType.String), |
24 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Sequence), IntermediateFieldType.Number), | 23 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Sequence), IntermediateFieldType.Number), |
25 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Log_), IntermediateFieldType.String), | 24 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.LogRef), IntermediateFieldType.String), |
26 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.WebsiteId), IntermediateFieldType.String), | 25 | new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.WebsiteId), IntermediateFieldType.String), |
27 | }, | 26 | }, |
28 | typeof(IIsWebSiteTuple)); | 27 | typeof(IIsWebSiteTuple)); |
@@ -35,18 +34,17 @@ namespace WixToolset.Iis.Tuples | |||
35 | 34 | ||
36 | public enum IIsWebSiteTupleFields | 35 | public enum IIsWebSiteTupleFields |
37 | { | 36 | { |
38 | Web, | 37 | ComponentRef, |
39 | Component_, | ||
40 | Description, | 38 | Description, |
41 | ConnectionTimeout, | 39 | ConnectionTimeout, |
42 | Directory_, | 40 | DirectoryRef, |
43 | State, | 41 | State, |
44 | Attributes, | 42 | Attributes, |
45 | KeyAddress_, | 43 | KeyAddressRef, |
46 | DirProperties_, | 44 | DirPropertiesRef, |
47 | Application_, | 45 | ApplicationRef, |
48 | Sequence, | 46 | Sequence, |
49 | Log_, | 47 | LogRef, |
50 | WebsiteId, | 48 | WebsiteId, |
51 | } | 49 | } |
52 | 50 | ||
@@ -62,16 +60,10 @@ namespace WixToolset.Iis.Tuples | |||
62 | 60 | ||
63 | public IntermediateField this[IIsWebSiteTupleFields index] => this.Fields[(int)index]; | 61 | public IntermediateField this[IIsWebSiteTupleFields index] => this.Fields[(int)index]; |
64 | 62 | ||
65 | public string Web | 63 | public string ComponentRef |
66 | { | 64 | { |
67 | get => this.Fields[(int)IIsWebSiteTupleFields.Web].AsString(); | 65 | get => this.Fields[(int)IIsWebSiteTupleFields.ComponentRef].AsString(); |
68 | set => this.Set((int)IIsWebSiteTupleFields.Web, value); | 66 | set => this.Set((int)IIsWebSiteTupleFields.ComponentRef, value); |
69 | } | ||
70 | |||
71 | public string Component_ | ||
72 | { | ||
73 | get => this.Fields[(int)IIsWebSiteTupleFields.Component_].AsString(); | ||
74 | set => this.Set((int)IIsWebSiteTupleFields.Component_, value); | ||
75 | } | 67 | } |
76 | 68 | ||
77 | public string Description | 69 | public string Description |
@@ -86,10 +78,10 @@ namespace WixToolset.Iis.Tuples | |||
86 | set => this.Set((int)IIsWebSiteTupleFields.ConnectionTimeout, value); | 78 | set => this.Set((int)IIsWebSiteTupleFields.ConnectionTimeout, value); |
87 | } | 79 | } |
88 | 80 | ||
89 | public string Directory_ | 81 | public string DirectoryRef |
90 | { | 82 | { |
91 | get => this.Fields[(int)IIsWebSiteTupleFields.Directory_].AsString(); | 83 | get => this.Fields[(int)IIsWebSiteTupleFields.DirectoryRef].AsString(); |
92 | set => this.Set((int)IIsWebSiteTupleFields.Directory_, value); | 84 | set => this.Set((int)IIsWebSiteTupleFields.DirectoryRef, value); |
93 | } | 85 | } |
94 | 86 | ||
95 | public int State | 87 | public int State |
@@ -104,22 +96,22 @@ namespace WixToolset.Iis.Tuples | |||
104 | set => this.Set((int)IIsWebSiteTupleFields.Attributes, value); | 96 | set => this.Set((int)IIsWebSiteTupleFields.Attributes, value); |
105 | } | 97 | } |
106 | 98 | ||
107 | public string KeyAddress_ | 99 | public string KeyAddressRef |
108 | { | 100 | { |
109 | get => this.Fields[(int)IIsWebSiteTupleFields.KeyAddress_].AsString(); | 101 | get => this.Fields[(int)IIsWebSiteTupleFields.KeyAddressRef].AsString(); |
110 | set => this.Set((int)IIsWebSiteTupleFields.KeyAddress_, value); | 102 | set => this.Set((int)IIsWebSiteTupleFields.KeyAddressRef, value); |
111 | } | 103 | } |
112 | 104 | ||
113 | public string DirProperties_ | 105 | public string DirPropertiesRef |
114 | { | 106 | { |
115 | get => this.Fields[(int)IIsWebSiteTupleFields.DirProperties_].AsString(); | 107 | get => this.Fields[(int)IIsWebSiteTupleFields.DirPropertiesRef].AsString(); |
116 | set => this.Set((int)IIsWebSiteTupleFields.DirProperties_, value); | 108 | set => this.Set((int)IIsWebSiteTupleFields.DirPropertiesRef, value); |
117 | } | 109 | } |
118 | 110 | ||
119 | public string Application_ | 111 | public string ApplicationRef |
120 | { | 112 | { |
121 | get => this.Fields[(int)IIsWebSiteTupleFields.Application_].AsString(); | 113 | get => this.Fields[(int)IIsWebSiteTupleFields.ApplicationRef].AsString(); |
122 | set => this.Set((int)IIsWebSiteTupleFields.Application_, value); | 114 | set => this.Set((int)IIsWebSiteTupleFields.ApplicationRef, value); |
123 | } | 115 | } |
124 | 116 | ||
125 | public int Sequence | 117 | public int Sequence |
@@ -128,10 +120,10 @@ namespace WixToolset.Iis.Tuples | |||
128 | set => this.Set((int)IIsWebSiteTupleFields.Sequence, value); | 120 | set => this.Set((int)IIsWebSiteTupleFields.Sequence, value); |
129 | } | 121 | } |
130 | 122 | ||
131 | public string Log_ | 123 | public string LogRef |
132 | { | 124 | { |
133 | get => this.Fields[(int)IIsWebSiteTupleFields.Log_].AsString(); | 125 | get => this.Fields[(int)IIsWebSiteTupleFields.LogRef].AsString(); |
134 | set => this.Set((int)IIsWebSiteTupleFields.Log_, value); | 126 | set => this.Set((int)IIsWebSiteTupleFields.LogRef, value); |
135 | } | 127 | } |
136 | 128 | ||
137 | public string WebsiteId | 129 | public string WebsiteId |
diff --git a/src/wixext/Tuples/IIsWebVirtualDirTuple.cs b/src/wixext/Tuples/IIsWebVirtualDirTuple.cs index f80804af..3a624b80 100644 --- a/src/wixext/Tuples/IIsWebVirtualDirTuple.cs +++ b/src/wixext/Tuples/IIsWebVirtualDirTuple.cs | |||
@@ -11,13 +11,12 @@ namespace WixToolset.Iis | |||
11 | IisTupleDefinitionType.IIsWebVirtualDir.ToString(), | 11 | IisTupleDefinitionType.IIsWebVirtualDir.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.VirtualDir), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Component_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.WebRef), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Web_), IntermediateFieldType.String), | ||
17 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Alias), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Alias), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Directory_), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.DirectoryRef), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.DirProperties_), IntermediateFieldType.String), | 18 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.DirPropertiesRef), IntermediateFieldType.String), |
20 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Application_), IntermediateFieldType.String), | 19 | new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.ApplicationRef), IntermediateFieldType.String), |
21 | }, | 20 | }, |
22 | typeof(IIsWebVirtualDirTuple)); | 21 | typeof(IIsWebVirtualDirTuple)); |
23 | } | 22 | } |
@@ -29,13 +28,12 @@ namespace WixToolset.Iis.Tuples | |||
29 | 28 | ||
30 | public enum IIsWebVirtualDirTupleFields | 29 | public enum IIsWebVirtualDirTupleFields |
31 | { | 30 | { |
32 | VirtualDir, | 31 | ComponentRef, |
33 | Component_, | 32 | WebRef, |
34 | Web_, | ||
35 | Alias, | 33 | Alias, |
36 | Directory_, | 34 | DirectoryRef, |
37 | DirProperties_, | 35 | DirPropertiesRef, |
38 | Application_, | 36 | ApplicationRef, |
39 | } | 37 | } |
40 | 38 | ||
41 | public class IIsWebVirtualDirTuple : IntermediateTuple | 39 | public class IIsWebVirtualDirTuple : IntermediateTuple |
@@ -50,22 +48,16 @@ namespace WixToolset.Iis.Tuples | |||
50 | 48 | ||
51 | public IntermediateField this[IIsWebVirtualDirTupleFields index] => this.Fields[(int)index]; | 49 | public IntermediateField this[IIsWebVirtualDirTupleFields index] => this.Fields[(int)index]; |
52 | 50 | ||
53 | public string VirtualDir | 51 | public string ComponentRef |
54 | { | 52 | { |
55 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.VirtualDir].AsString(); | 53 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.ComponentRef].AsString(); |
56 | set => this.Set((int)IIsWebVirtualDirTupleFields.VirtualDir, value); | 54 | set => this.Set((int)IIsWebVirtualDirTupleFields.ComponentRef, value); |
57 | } | 55 | } |
58 | 56 | ||
59 | public string Component_ | 57 | public string WebRef |
60 | { | 58 | { |
61 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.Component_].AsString(); | 59 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.WebRef].AsString(); |
62 | set => this.Set((int)IIsWebVirtualDirTupleFields.Component_, value); | 60 | set => this.Set((int)IIsWebVirtualDirTupleFields.WebRef, value); |
63 | } | ||
64 | |||
65 | public string Web_ | ||
66 | { | ||
67 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.Web_].AsString(); | ||
68 | set => this.Set((int)IIsWebVirtualDirTupleFields.Web_, value); | ||
69 | } | 61 | } |
70 | 62 | ||
71 | public string Alias | 63 | public string Alias |
@@ -74,22 +66,22 @@ namespace WixToolset.Iis.Tuples | |||
74 | set => this.Set((int)IIsWebVirtualDirTupleFields.Alias, value); | 66 | set => this.Set((int)IIsWebVirtualDirTupleFields.Alias, value); |
75 | } | 67 | } |
76 | 68 | ||
77 | public string Directory_ | 69 | public string DirectoryRef |
78 | { | 70 | { |
79 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.Directory_].AsString(); | 71 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.DirectoryRef].AsString(); |
80 | set => this.Set((int)IIsWebVirtualDirTupleFields.Directory_, value); | 72 | set => this.Set((int)IIsWebVirtualDirTupleFields.DirectoryRef, value); |
81 | } | 73 | } |
82 | 74 | ||
83 | public string DirProperties_ | 75 | public string DirPropertiesRef |
84 | { | 76 | { |
85 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.DirProperties_].AsString(); | 77 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.DirPropertiesRef].AsString(); |
86 | set => this.Set((int)IIsWebVirtualDirTupleFields.DirProperties_, value); | 78 | set => this.Set((int)IIsWebVirtualDirTupleFields.DirPropertiesRef, value); |
87 | } | 79 | } |
88 | 80 | ||
89 | public string Application_ | 81 | public string ApplicationRef |
90 | { | 82 | { |
91 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.Application_].AsString(); | 83 | get => this.Fields[(int)IIsWebVirtualDirTupleFields.ApplicationRef].AsString(); |
92 | set => this.Set((int)IIsWebVirtualDirTupleFields.Application_, value); | 84 | set => this.Set((int)IIsWebVirtualDirTupleFields.ApplicationRef, value); |
93 | } | 85 | } |
94 | } | 86 | } |
95 | } \ No newline at end of file | 87 | } \ No newline at end of file |
diff --git a/src/wixext/WixToolset.Iis.wixext.csproj b/src/wixext/WixToolset.Iis.wixext.csproj index 103d3c18..54ada521 100644 --- a/src/wixext/WixToolset.Iis.wixext.csproj +++ b/src/wixext/WixToolset.Iis.wixext.csproj | |||
@@ -14,7 +14,6 @@ | |||
14 | <ItemGroup> | 14 | <ItemGroup> |
15 | <Content Include="$(MSBuildThisFileName).targets" /> | 15 | <Content Include="$(MSBuildThisFileName).targets" /> |
16 | <Content Include="iis.xsd" PackagePath="tools" /> | 16 | <Content Include="iis.xsd" PackagePath="tools" /> |
17 | <EmbeddedResource Include="tables.xml" /> | ||
18 | <EmbeddedResource Include="$(OutputPath)..\iis.wixlib" /> | 17 | <EmbeddedResource Include="$(OutputPath)..\iis.wixlib" /> |
19 | </ItemGroup> | 18 | </ItemGroup> |
20 | 19 | ||
diff --git a/src/wixext/tables.xml b/src/wixext/tables.xml deleted file mode 100644 index 2aef6f13..00000000 --- a/src/wixext/tables.xml +++ /dev/null | |||
@@ -1,304 +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 | |||
5 | <tableDefinitions xmlns="http://wixtoolset.org/schemas/v4/wi/tables"> | ||
6 | <tableDefinition name="Certificate" createSymbols="yes"> | ||
7 | <columnDefinition name="Certificate" type="string" length="72" primaryKey="yes" modularize="column" | ||
8 | keyColumn="1" category="identifier" description="Identifier for the certificate in the package."/> | ||
9 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | ||
10 | category="identifier" description="Foreign key into the Component table used to determine install state"/> | ||
11 | <columnDefinition name="Name" type="string" length="255" | ||
12 | category="formatted" description="Name to be used for the Certificate."/> | ||
13 | <columnDefinition name="StoreLocation" type="number" length="2" | ||
14 | minValue="1" maxValue="2" description="Location of the target certificate store (CurrentUser == 1, LocalMachine == 2)"/> | ||
15 | <columnDefinition name="StoreName" type="string" length="64" | ||
16 | category="formatted" description="Name of the target certificate store"/> | ||
17 | <columnDefinition name="Attributes" type="number" length="4" | ||
18 | minValue="0" maxValue="2147483647" description="Attributes of the certificate"/> | ||
19 | <columnDefinition name="Binary_" type="string" length="72" nullable="yes" modularize="column" | ||
20 | keyTable="Binary" keyColumn="1" category="identifier" description="Identifier to Binary table containing certificate."/> | ||
21 | <columnDefinition name="CertificatePath" type="string" length="0" nullable="yes" modularize="property" | ||
22 | category="formatted" description="Property to path of certificate."/> | ||
23 | <columnDefinition name="PFXPassword" type="string" length="0" nullable="yes" modularize="property" | ||
24 | category="formatted" description="Hidden property to a pfx password"/> | ||
25 | </tableDefinition> | ||
26 | <tableDefinition name="CertificateHash" createSymbols="yes"> | ||
27 | <columnDefinition name="Certificate_" type="string" length="72" primaryKey="yes" modularize="column" | ||
28 | keyColumn="1" category="identifier" description="Foreign key to certificate in Certificate table."/> | ||
29 | <columnDefinition name="Hash" type="string" length="0" nullable="yes" | ||
30 | category="text" description="Base64 encoded SHA1 hash of certificate populated at run-time."/> | ||
31 | </tableDefinition> | ||
32 | <tableDefinition name="IIsWebSiteCertificates"> | ||
33 | <columnDefinition name="Web_" type="string" length="72" primaryKey="yes" modularize="column" | ||
34 | keyTable="IIsWebSite" keyColumn="1" category="identifier" description="The index into the IIsWebSite table."/> | ||
35 | <columnDefinition name="Certificate_" type="string" length="72" primaryKey="yes" modularize="column" | ||
36 | keyTable="Certificate" keyColumn="1" category="text" description="The index into the Certificate table."/> | ||
37 | </tableDefinition> | ||
38 | <tableDefinition name="IIsAppPool" createSymbols="yes"> | ||
39 | <columnDefinition name="AppPool" type="string" length="72" primaryKey="yes" modularize="column" | ||
40 | category="identifier" description="Primary key, non-localized token for apppool"/> | ||
41 | <columnDefinition name="Name" type="string" length="72" modularize="property" | ||
42 | category="formatted" description="Name to be used for the IIs AppPool."/> | ||
43 | <columnDefinition name="Component_" type="string" length="72" modularize="column" nullable="yes" | ||
44 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the app pool"/> | ||
45 | <columnDefinition name="Attributes" type="number" length="2" | ||
46 | description="Attributes of the AppPool"/> | ||
47 | <columnDefinition name="User_" type="string" length="72" nullable="yes" modularize="column" | ||
48 | keyTable="User" keyColumn="1" category="identifier" description="User account to run the app pool as"/> | ||
49 | <columnDefinition name="RecycleMinutes" type="number" length="2" nullable="yes" | ||
50 | description="Number of minutes between recycling app pool"/> | ||
51 | <columnDefinition name="RecycleRequests" type="number" length="2" nullable="yes" | ||
52 | description="Number of requests between recycling app pool"/> | ||
53 | <columnDefinition name="RecycleTimes" type="string" length="72" nullable="yes" | ||
54 | description="Times to recycle app pool (comma delimited - i.e. 1:45,13:30)"/> | ||
55 | <columnDefinition name="IdleTimeout" type="number" length="2" nullable="yes" | ||
56 | description="Amount of idle time before shutting down"/> | ||
57 | <columnDefinition name="QueueLimit" type="number" length="2" nullable="yes" | ||
58 | description="Reject requests after queue gets how large"/> | ||
59 | <columnDefinition name="CPUMon" type="string" length="72" nullable="yes" | ||
60 | description="CPUMon is a comma delimeted list of the following format: <percent CPU usage>,<refress minutes>,<Action>. The values for Action are 1 (Shutdown) and 0 (No Action)."/> | ||
61 | <columnDefinition name="MaxProc" type="number" length="2" nullable="yes" | ||
62 | description="Maximum number of processes to use"/> | ||
63 | <columnDefinition name="VirtualMemory" type="number" length="4" nullable="yes" | ||
64 | description="Amount of virtual memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this field is 4,294,967 KB."/> | ||
65 | <columnDefinition name="PrivateMemory" type="number" length="4" nullable="yes" | ||
66 | description="Amount of private memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this field is 4,294,967 KB."/> | ||
67 | <columnDefinition name="ManagedRuntimeVersion" type="string" length="72" nullable="yes" | ||
68 | description="Specifies the .NET Framework version to be used by the application pool."/> | ||
69 | <columnDefinition name="ManagedPipelineMode" type="string" length="72" nullable="yes" | ||
70 | description="Specifies the request-processing mode that is used to process requests for managed content."/> | ||
71 | </tableDefinition> | ||
72 | <tableDefinition name="IIsMimeMap"> | ||
73 | <columnDefinition name="MimeMap" type="string" length="72" primaryKey="yes" modularize="column" | ||
74 | category="identifier" description="Primary key, non-localized token for Mime Map definitions"/> | ||
75 | <columnDefinition name="ParentType" type="number" length="2" | ||
76 | set="1;2" description="Type of parent: 1=vdir 2=website"/> | ||
77 | <columnDefinition name="ParentValue" type="string" length="72" modularize="column" | ||
78 | category="identifier" description="Name of the parent value."/> | ||
79 | <columnDefinition name="MimeType" type="string" length="72" | ||
80 | category="text" description="Mime-type covered by the MimeMap."/> | ||
81 | <columnDefinition name="Extension" type="string" length="72" | ||
82 | category="text" description="Extension covered by the MimeMap."/> | ||
83 | </tableDefinition> | ||
84 | <tableDefinition name="IIsProperty"> | ||
85 | <columnDefinition name="Property" type="string" length="72" primaryKey="yes" | ||
86 | category="identifier" description="Unique name of the IIsProperty"/> | ||
87 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | ||
88 | keyTable="Component" keyColumn="1" category="identifier" description="Component that the property is linked to" /> | ||
89 | <columnDefinition name="Attributes" type="number" length="2" | ||
90 | description="Attributes of the IIsProperty (unused)"/> | ||
91 | <columnDefinition name="Value" type="string" length="72" nullable="yes" | ||
92 | description="Value of the IIsProperty"/> | ||
93 | </tableDefinition> | ||
94 | <tableDefinition name="IIsWebDirProperties" createSymbols="yes"> | ||
95 | <columnDefinition name="DirProperties" type="string" length="72" primaryKey="yes" modularize="column" | ||
96 | category="identifier" description="Primary key, non-localized token for Web Properties"/> | ||
97 | <columnDefinition name="Access" type="number" length="2" nullable="yes" | ||
98 | description="Access rights to the web server"/> | ||
99 | <columnDefinition name="Authorization" type="number" length="2" nullable="yes" | ||
100 | description="Authorization policy to web server (anonymous access, NTLM, etc)"/> | ||
101 | <columnDefinition name="AnonymousUser_" type="string" length="72" nullable="yes" modularize="column" | ||
102 | keyTable="User" keyColumn="1" category="identifier" description="Foreign key, User used to log into database"/> | ||
103 | <columnDefinition name="IIsControlledPassword" type="number" length="2" nullable="yes" | ||
104 | set="0;1" description="Specifies whether IIs is allowed to set the AnonymousUser_ password"/> | ||
105 | <columnDefinition name="LogVisits" type="number" length="2" nullable="yes" | ||
106 | set="0;1" description="Specifies whether IIs tracks all access to the directory"/> | ||
107 | <columnDefinition name="Index" type="number" length="2" nullable="yes" | ||
108 | set="0;1" description="Specifies whether IIs searches the directory"/> | ||
109 | <columnDefinition name="DefaultDoc" type="string" length="255" nullable="yes" | ||
110 | category="text" description="Comma delimited list of file names to act as a default document"/> | ||
111 | <columnDefinition name="AspDetailedError" type="number" length="2" nullable="yes" | ||
112 | set="0;1" description="Specifies whether detailed ASP errors are sent to browser"/> | ||
113 | <columnDefinition name="HttpExpires" type="string" length="255" nullable="yes" escapeIdtCharacters="yes" | ||
114 | category="text" description="Value to set the HttpExpires attribute to for a Web Dir in the metabase"/> | ||
115 | <columnDefinition name="CacheControlMaxAge" type="number" length="4" nullable="yes" | ||
116 | description="Integer value specifying the cache control maximum age value."/> | ||
117 | <columnDefinition name="CacheControlCustom" type="string" length="255" nullable="yes" escapeIdtCharacters="yes" | ||
118 | category="text" description="Custom HTTP 1.1 cache control directives."/> | ||
119 | <columnDefinition name="NoCustomError" type="number" length="2" nullable="yes" | ||
120 | set="0;1" description="Specifies whether IIs will return custom errors for this directory."/> | ||
121 | <columnDefinition name="AccessSSLFlags" type="number" length="2" nullable="yes" | ||
122 | description="Specifies AccessSSLFlags IIS metabase property."/> | ||
123 | <columnDefinition name="AuthenticationProviders" type="string" length="255" nullable="yes" | ||
124 | category="text" description="Comma delimited list, in order of precedence, of Windows authentication providers that IIS will attempt to use: NTLM, Kerberos, Negotiate, and others."/> | ||
125 | </tableDefinition> | ||
126 | <tableDefinition name="IIsWebAddress" createSymbols="yes"> | ||
127 | <columnDefinition name="Address" type="string" length="72" primaryKey="yes" modularize="column" | ||
128 | category="identifier" description="Primary key, non-localized token"/> | ||
129 | <columnDefinition name="Web_" type="string" length="72" modularize="column" | ||
130 | keyTable="IIsWebSite" keyColumn="1" category="identifier" description="Foreign key referencing Web that uses the address."/> | ||
131 | <columnDefinition name="IP" type="string" length="255" nullable="yes" modularize="property" | ||
132 | category="text" description="String representing IP address (#.#.#.#) or NT machine name (fooserver)"/> | ||
133 | <columnDefinition name="Port" type="string" length="72" modularize="property" | ||
134 | category="formatted" description="Port web site listens on"/> | ||
135 | <columnDefinition name="Header" type="string" length="255" nullable="yes" | ||
136 | category="text" description="Special header information for the web site"/> | ||
137 | <columnDefinition name="Secure" type="number" length="2" nullable="yes" | ||
138 | set="0;1" description="Specifies whether SSL is used to communicate with web site"/> | ||
139 | </tableDefinition> | ||
140 | <tableDefinition name="IIsWebSite" createSymbols="yes"> | ||
141 | <columnDefinition name="Web" type="string" length="72" primaryKey="yes" modularize="column" | ||
142 | category="identifier" description="Primary key, non-localized token"/> | ||
143 | <columnDefinition name="Component_" type="string" length="72" nullable="yes" modularize="column" | ||
144 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the web site"/> | ||
145 | <columnDefinition name="Description" type="string" length="255" nullable="yes" | ||
146 | category="formatted" description="Description displayed in IIS MMC applet"/> | ||
147 | <columnDefinition name="ConnectionTimeout" type="number" length="2" nullable="yes" | ||
148 | description="Time connection is maintained without activity (in seconds)"/> | ||
149 | <columnDefinition name="Directory_" type="string" length="72" nullable="yes" modularize="column" | ||
150 | keyTable="Directory" keyColumn="1" category="identifier" description="Foreign key referencing directory that the web site points at"/> | ||
151 | <columnDefinition name="State" type="number" length="2" nullable="yes" | ||
152 | set="0;1;2" description="Sets intial state of web site"/> | ||
153 | <columnDefinition name="Attributes" type="number" length="2" nullable="yes" | ||
154 | set="2" description="Control the install behavior of web site"/> | ||
155 | <columnDefinition name="KeyAddress_" type="string" length="72" modularize="column" | ||
156 | keyTable="IIsWebAddress" keyColumn="1" category="identifier" description="Foreign key referencing primary address for the web site"/> | ||
157 | <columnDefinition name="DirProperties_" type="string" length="72" nullable="yes" modularize="column" | ||
158 | keyTable="IIsWebDirProperties" keyColumn="1" category="identifier" description="Foreign key referencing possible security information for the web site"/> | ||
159 | <columnDefinition name="Application_" type="string" length="72" nullable="yes" modularize="column" | ||
160 | keyTable="IIsWebApplication" keyColumn="1" category="identifier" description="Foreign key referencing possible ASP application for the web site."/> | ||
161 | <columnDefinition name="Sequence" type="number" length="2" nullable="yes" | ||
162 | description="Allows ordering of web site install"/> | ||
163 | <columnDefinition name="Log_" type="string" length="72" nullable="yes" modularize="column" | ||
164 | keyTable="IIsWebLog" keyColumn="1" description="Foreign key reference to IIsWebLog data"/> | ||
165 | <columnDefinition name="Id" type="string" length="74" nullable="yes" | ||
166 | category="formatted" description="Optional number or formatted value that resolves to number that acts as the WebSite Id."/> | ||
167 | </tableDefinition> | ||
168 | <tableDefinition name="IIsWebApplication" createSymbols="yes"> | ||
169 | <columnDefinition name="Application" type="string" length="72" primaryKey="yes" modularize="column" | ||
170 | category="identifier" description="Primary key, non-localized token for ASP Application"/> | ||
171 | <columnDefinition name="Name" type="localized" length="255" modularize="property" | ||
172 | category="formatted" description="Name of application in IIS MMC applet"/> | ||
173 | <columnDefinition name="Isolation" type="number" length="2" | ||
174 | set="0;1;2" description="Isolation level for ASP Application: 0 == Low, 2 == Medium, 1 == High"/> | ||
175 | <columnDefinition name="AllowSessions" type="number" length="2" nullable="yes" | ||
176 | set="0;1" description="Specifies whether application may maintain session state"/> | ||
177 | <columnDefinition name="SessionTimeout" type="number" length="2" nullable="yes" | ||
178 | description="Time session state is maintained without user interaction"/> | ||
179 | <columnDefinition name="Buffer" type="number" length="2" nullable="yes" | ||
180 | set="0;1" description="Specifies whether application buffers its output"/> | ||
181 | <columnDefinition name="ParentPaths" type="number" length="2" nullable="yes" | ||
182 | set="0;1" description="What is this for anyway?"/> | ||
183 | <columnDefinition name="DefaultScript" type="string" length="26" nullable="yes" | ||
184 | category="text" set="VBScript;JScript" description="Default scripting language for ASP applications"/> | ||
185 | <columnDefinition name="ScriptTimeout" type="number" length="2" nullable="yes" | ||
186 | description="Time ASP application page is permitted to process"/> | ||
187 | <columnDefinition name="ServerDebugging" type="number" length="2" nullable="yes" | ||
188 | set="0;1" description="Specifies whether to allow ASP server-side script debugging"/> | ||
189 | <columnDefinition name="ClientDebugging" type="number" length="2" nullable="yes" | ||
190 | set="0;1" description="Specifies whether to allow ASP client-side script debugging"/> | ||
191 | <columnDefinition name="AppPool_" type="string" length="72" nullable="yes" modularize="column" | ||
192 | keyTable="IIsAppPool" keyColumn="1" category="identifier" description="App Pool this application should run under"/> | ||
193 | </tableDefinition> | ||
194 | <tableDefinition name="IIsWebApplicationExtension" createSymbols="yes"> | ||
195 | <columnDefinition name="Application_" type="string" length="72" primaryKey="yes" modularize="column" | ||
196 | keyTable="IIsWebApplication" keyColumn="1" category="identifier" description="Foreign key referencing possible ASP application for the web site"/> | ||
197 | <columnDefinition name="Extension" type="string" length="255" primaryKey="yes" nullable="yes" | ||
198 | category="text" description="Primary key, Extension that should be registered for this ASP application"/> | ||
199 | <columnDefinition name="Verbs" type="string" length="255" nullable="yes" | ||
200 | category="text" description="Comma delimited list of HTTP verbs the extension should be registered with"/> | ||
201 | <columnDefinition name="Executable" type="string" length="255" modularize="property" | ||
202 | category="formatted" description="Path to extension (usually file property: [#file])"/> | ||
203 | <columnDefinition name="Attributes" type="number" length="2" nullable="yes" | ||
204 | set="1;4;5" description="Attributes for extension: 1 == Script, 4 == Check Path Info"/> | ||
205 | </tableDefinition> | ||
206 | <tableDefinition name="IIsFilter" createSymbols="yes"> | ||
207 | <columnDefinition name="Filter" type="string" length="72" primaryKey="yes" modularize="column" | ||
208 | category="identifier" description="Primary key, non-localized token"/> | ||
209 | <columnDefinition name="Name" type="string" length="72" | ||
210 | description="Name of the ISAPI Filter in IIS"/> | ||
211 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | ||
212 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the filter"/> | ||
213 | <columnDefinition name="Path" type="string" length="255" nullable="yes" modularize="property" | ||
214 | category="formatted" description="Path to filter (usually file property: [#file])"/> | ||
215 | <columnDefinition name="Web_" type="string" length="72" nullable="yes" modularize="column" | ||
216 | keyTable="IIsWebSite" keyColumn="1" category="identifier" description="Foreign key referencing web site that loads the filter (NULL == global filter"/> | ||
217 | <columnDefinition name="Description" type="string" length="255" nullable="yes" | ||
218 | category="formatted" description="Description displayed in IIS MMC applet"/> | ||
219 | <columnDefinition name="Flags" type="number" length="4" | ||
220 | minValue="0" maxValue="2147483647" description="What do all these numbers mean?"/> | ||
221 | <columnDefinition name="LoadOrder" type="number" length="2" nullable="yes" | ||
222 | description="-1 == last in order, 0 == first in order, # == place in order"/> | ||
223 | </tableDefinition> | ||
224 | <tableDefinition name="IIsWebDir" createSymbols="yes"> | ||
225 | <columnDefinition name="WebDir" type="string" length="72" primaryKey="yes" modularize="column" | ||
226 | category="identifier" description="Primary key, non-localized token"/> | ||
227 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | ||
228 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the virtual directory"/> | ||
229 | <columnDefinition name="Web_" type="string" length="72" modularize="column" | ||
230 | keyTable="IIsWebSite" keyColumn="1" category="identifier" description="Foreign key referencing web site that controls the virtual directory"/> | ||
231 | <columnDefinition name="Path" type="string" length="255" modularize="property" | ||
232 | category="formatted" description="Name of web directory displayed in IIS MMC applet"/> | ||
233 | <columnDefinition name="DirProperties_" type="string" length="72" nullable="yes" modularize="column" | ||
234 | keyTable="IIsWebDirProperties" keyColumn="1" category="identifier" description="Foreign key referencing possible security information for the virtual directory"/> | ||
235 | <columnDefinition name="Application_" type="string" length="72" nullable="yes" modularize="column" | ||
236 | keyTable="IIsWebApplication" keyColumn="1" category="identifier" description="Foreign key referencing possible ASP application for the virtual directory. This column is currently unused, but maintained for compatibility reasons."/> | ||
237 | </tableDefinition> | ||
238 | <tableDefinition name="IIsWebError"> | ||
239 | <columnDefinition name="ErrorCode" type="number" length="2" primaryKey="yes" | ||
240 | minValue="400" maxValue="599" description="HTTP status code indicating error."/> | ||
241 | <columnDefinition name="SubCode" type="number" length="4" primaryKey="yes" | ||
242 | description="HTTP sub-status code indicating error."/> | ||
243 | <columnDefinition name="ParentType" type="number" length="2" primaryKey="yes" | ||
244 | set="1;2" description="Type of parent: 1=vdir, 2=web"/> | ||
245 | <columnDefinition name="ParentValue" type="string" length="72" modularize="column" primaryKey="yes" | ||
246 | category="identifier" description="Name of the parent value."/> | ||
247 | <columnDefinition name="File" type="string" length="255" nullable="yes" | ||
248 | category="formatted" description="Path to file for this custom error (usually file property: [#file]). Must be null if URL is not null."/> | ||
249 | <columnDefinition name="URL" type="string" length="255" nullable="yes" | ||
250 | category="formatted" description="URL for this custom error. Must be null if File is not null."/> | ||
251 | </tableDefinition> | ||
252 | <tableDefinition name="IIsHttpHeader" createSymbols="yes"> | ||
253 | <columnDefinition name="HttpHeader" type="string" length="72" primaryKey="yes" modularize="column" | ||
254 | category="identifier" description="Primary key, non-localized token"/> | ||
255 | <columnDefinition name="ParentType" type="number" length="2" primaryKey="yes" | ||
256 | set="1;2" description="Type of parent: 1=vdir, 2=web"/> | ||
257 | <columnDefinition name="ParentValue" type="string" length="72" primaryKey="yes" modularize="column" | ||
258 | category="identifier" description="Name of the parent value."/> | ||
259 | <columnDefinition name="Name" type="string" length="255" | ||
260 | category="text" description="Name of the HTTP Header"/> | ||
261 | <columnDefinition name="Value" type="string" length="255" nullable="yes" | ||
262 | category="formatted" description="URL for this custom error. Must be null if File is not null."/> | ||
263 | <columnDefinition name="Attributes" type="number" length="2" | ||
264 | minValue="0" maxValue="0" description="Attributes for HTTP Header: none"/> | ||
265 | <columnDefinition name="Sequence" type="number" length="2" nullable="yes" | ||
266 | description="Order to add the HTTP Headers."/> | ||
267 | </tableDefinition> | ||
268 | <tableDefinition name="IIsWebServiceExtension" createSymbols="yes"> | ||
269 | <columnDefinition name="WebServiceExtension" type="string" length="72" primaryKey="yes" modularize="column" | ||
270 | category="identifier" description="Primary key, non-localized token"/> | ||
271 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | ||
272 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the WebServiceExtension handler"/> | ||
273 | <columnDefinition name="File" type="string" length="255" modularize="property" | ||
274 | category="formatted" description="Path to handler (usually file property: [#file])"/> | ||
275 | <columnDefinition name="Description" type="localized" length="255" nullable="yes" modularize="property" escapeIdtCharacters="yes" | ||
276 | category="formatted" description="Description displayed in WebServiceExtension Wizard"/> | ||
277 | <columnDefinition name="Group" type="string" length="255" nullable="yes" modularize="property" | ||
278 | category="formatted" description="String used to identify groups of extensions."/> | ||
279 | <columnDefinition name="Attributes" type="number" length="1" | ||
280 | minValue="0" maxValue="3" description="Attributes for WebServiceExtension: 1 = Allow, 2 = UIDeletable"/> | ||
281 | </tableDefinition> | ||
282 | <tableDefinition name="IIsWebVirtualDir" createSymbols="yes"> | ||
283 | <columnDefinition name="VirtualDir" type="string" length="72" primaryKey="yes" modularize="column" | ||
284 | category="identifier" description="Primary key, non-localized token"/> | ||
285 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | ||
286 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key referencing Component that controls the virtual directory"/> | ||
287 | <columnDefinition name="Web_" type="string" length="72" modularize="column" | ||
288 | keyTable="IIsWebSite" keyColumn="1" category="identifier" description="Foreign key referencing web site that controls the virtual directory"/> | ||
289 | <columnDefinition name="Alias" type="string" length="255" modularize="property" | ||
290 | category="formatted" description="Name of virtual directory displayed in IIS MMC applet"/> | ||
291 | <columnDefinition name="Directory_" type="string" length="72" modularize="column" | ||
292 | keyTable="Directory" keyColumn="1" category="identifier" description="Foreign key referencing directory that the virtual directory points at"/> | ||
293 | <columnDefinition name="DirProperties_" type="string" length="72" nullable="yes" modularize="column" | ||
294 | keyTable="IIsWebDirProperties" keyColumn="1" category="identifier" description="Foreign key referencing possible security information for the virtual directory"/> | ||
295 | <columnDefinition name="Application_" type="string" length="72" nullable="yes" modularize="column" | ||
296 | keyTable="IIsWebApplication" keyColumn="1" category="identifier" description="Foreign key referencing possible ASP application for the virtual directory"/> | ||
297 | </tableDefinition> | ||
298 | <tableDefinition name="IIsWebLog" createSymbols="yes"> | ||
299 | <columnDefinition name="Log" type="string" length="72" primaryKey="yes" modularize="column" | ||
300 | category="identifier" description="Primary key, non-localized token"/> | ||
301 | <columnDefinition name="Format" type="string" length="255" | ||
302 | category="text" description="Type of log format"/> | ||
303 | </tableDefinition> | ||
304 | </tableDefinitions> | ||
diff --git a/src/wixlib/iis.wixproj b/src/wixlib/iis.wixproj index c270ab5c..79403583 100644 --- a/src/wixlib/iis.wixproj +++ b/src/wixlib/iis.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-0080\build\WixToolset.MSBuild.props" Condition="Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0080\build\WixToolset.MSBuild.props')" /> | 4 | <Import Project="..\..\packages\WixToolset.MSBuild.4.0.0-build-0083\build\WixToolset.MSBuild.props" Condition="Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0083\build\WixToolset.MSBuild.props')" /> |
5 | <Import Project="..\FindLocalWix.props" /> | 5 | <Import Project="..\FindLocalWix.props" /> |
6 | <PropertyGroup> | 6 | <PropertyGroup> |
7 | <ProjectGuid>{92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}</ProjectGuid> | 7 | <ProjectGuid>{92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}</ProjectGuid> |
@@ -38,7 +38,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> | 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> |
39 | </PropertyGroup> | 39 | </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'))" /> | 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'))" /> |
41 | <Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0080\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0080\build\WixToolset.MSBuild.props'))" /> | 41 | <Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0083\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0083\build\WixToolset.MSBuild.props'))" /> |
42 | </Target> | 42 | </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')" /> | 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')" /> |
44 | </Project> \ No newline at end of file | 44 | </Project> \ No newline at end of file |
diff --git a/src/wixlib/packages.config b/src/wixlib/packages.config index 25b4e6a9..d73f4d3a 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-0080" developmentDependency="true" targetFramework="net40" /> | 4 | <package id="WixToolset.MSBuild" version="4.0.0-build-0083" developmentDependency="true" targetFramework="net40" /> |
5 | </packages> \ No newline at end of file | 5 | </packages> \ No newline at end of file |