aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-12-18 20:09:31 -0600
committerSean Hall <r.sean.hall@gmail.com>2020-12-18 23:35:39 -0600
commitf1b37c3a4d620298f8c646ac0a308a6fae1b662d (patch)
tree51712eea98cc2ca090b18d30d93dad88c3f9ac8e /src
parent8e08acb229ade411b7418df63b14198220aaaaa7 (diff)
downloadwix-f1b37c3a4d620298f8c646ac0a308a6fae1b662d.tar.gz
wix-f1b37c3a4d620298f8c646ac0a308a6fae1b662d.tar.bz2
wix-f1b37c3a4d620298f8c646ac0a308a6fae1b662d.zip
Enable XML doc and delete obsolete IParseHelper methods.
Diffstat (limited to 'src')
-rw-r--r--src/CSharp.Build.props1
-rw-r--r--src/Directory.Build.targets8
-rw-r--r--src/WixToolset.Extensibility/BaseBurnBackendExtension.cs42
-rw-r--r--src/WixToolset.Extensibility/BaseCompilerExtension.cs16
-rw-r--r--src/WixToolset.Extensibility/BaseExtensionCommandLine.cs18
-rw-r--r--src/WixToolset.Extensibility/BaseExtensionData.cs9
-rw-r--r--src/WixToolset.Extensibility/BaseExtensionFactory.cs6
-rw-r--r--src/WixToolset.Extensibility/BaseLayoutExtension.cs12
-rw-r--r--src/WixToolset.Extensibility/BasePreprocessorExtension.cs1
-rw-r--r--src/WixToolset.Extensibility/BaseResolverExtension.cs8
-rw-r--r--src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs15
-rw-r--r--src/WixToolset.Extensibility/CompilerConstants.cs23
-rw-r--r--src/WixToolset.Extensibility/Data/BindStage.cs3
-rw-r--r--src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs8
-rw-r--r--src/WixToolset.Extensibility/Data/IBindContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IBindFileWithPath.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IBindPath.cs3
-rw-r--r--src/WixToolset.Extensibility/Data/IBindResult.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/ICommandLineArguments.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/ICommandLineContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/ICompileContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IComponentKeyPath.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IDecompileContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IDecompileResult.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IDelayedField.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IExpectedExtractFile.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IFileSystemContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IIncludedFile.cs3
-rw-r--r--src/WixToolset.Extensibility/Data/IInscribeContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/ILayoutContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/ILibraryContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/ILinkContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IPreprocessContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IPreprocessResult.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IResolveContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IResolveFileResult.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IResolveResult.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IResolvedCabinet.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/IUnbindContext.cs1
-rw-r--r--src/WixToolset.Extensibility/Data/PossibleKeyPathType.cs3
-rw-r--r--src/WixToolset.Extensibility/Data/TrackedFileType.cs5
-rw-r--r--src/WixToolset.Extensibility/DecompilerConstants.cs7
-rw-r--r--src/WixToolset.Extensibility/IBackend.cs1
-rw-r--r--src/WixToolset.Extensibility/IBackendFactory.cs3
-rw-r--r--src/WixToolset.Extensibility/IBurnBackendExtension.cs21
-rw-r--r--src/WixToolset.Extensibility/ICompilerExtension.cs8
-rw-r--r--src/WixToolset.Extensibility/IExtensionCommandLine.cs3
-rw-r--r--src/WixToolset.Extensibility/IFileSystemExtension.cs1
-rw-r--r--src/WixToolset.Extensibility/IInspectorExtension.cs11
-rw-r--r--src/WixToolset.Extensibility/ILayoutExtension.cs2
-rw-r--r--src/WixToolset.Extensibility/ILibrarianExtension.cs1
-rw-r--r--src/WixToolset.Extensibility/IMessageListener.cs1
-rw-r--r--src/WixToolset.Extensibility/IPreprocessorExtension.cs1
-rw-r--r--src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs4
-rw-r--r--src/WixToolset.Extensibility/Services/IBackendHelper.cs1
-rw-r--r--src/WixToolset.Extensibility/Services/ICommandLineParser.cs1
-rw-r--r--src/WixToolset.Extensibility/Services/IParseHelper.cs42
-rw-r--r--src/WixToolset.Extensibility/Services/IPathResolver.cs5
-rw-r--r--src/WixToolset.Extensibility/Services/IPreprocessHelper.cs4
-rw-r--r--src/WixToolset.Extensibility/Services/IVariableResolution.cs1
-rw-r--r--src/WixToolset.Extensibility/Services/IVariableResolver.cs3
-rw-r--r--src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs19
-rw-r--r--src/WixToolset.Extensibility/Services/IWixtoolsetCoreServiceProvider.cs1
-rw-r--r--src/WixToolset.Extensibility/WixToolset.Extensibility.csproj1
64 files changed, 300 insertions, 49 deletions
diff --git a/src/CSharp.Build.props b/src/CSharp.Build.props
index bcd47a0c..81d24ad1 100644
--- a/src/CSharp.Build.props
+++ b/src/CSharp.Build.props
@@ -8,5 +8,6 @@
8 <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow> 8 <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
9 <SignAssembly>true</SignAssembly> 9 <SignAssembly>true</SignAssembly>
10 <AssemblyOriginatorKeyFile>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)wix.snk))</AssemblyOriginatorKeyFile> 10 <AssemblyOriginatorKeyFile>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)wix.snk))</AssemblyOriginatorKeyFile>
11 <NBGV_EmitThisAssemblyClass>false</NBGV_EmitThisAssemblyClass>
11 </PropertyGroup> 12 </PropertyGroup>
12</Project> 13</Project>
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets
index dac7452a..cb988931 100644
--- a/src/Directory.Build.targets
+++ b/src/Directory.Build.targets
@@ -10,6 +10,11 @@
10--> 10-->
11<Project> 11<Project>
12 <PropertyGroup> 12 <PropertyGroup>
13 <CreateDocumentation Condition=" '$(CreateDocumentationFile)'!='true' ">false</CreateDocumentation>
14 <DocumentationFile Condition=" '$(CreateDocumentationFile)'=='true' ">$(OutputPath)\$(AssemblyName).xml</DocumentationFile>
15 </PropertyGroup>
16
17 <PropertyGroup>
13 <ReplacePackageReferences>true</ReplacePackageReferences> 18 <ReplacePackageReferences>true</ReplacePackageReferences>
14 <TheSolutionPath Condition=" '$(NCrunch)'=='' ">$(SolutionPath)</TheSolutionPath> 19 <TheSolutionPath Condition=" '$(NCrunch)'=='' ">$(SolutionPath)</TheSolutionPath>
15 <TheSolutionPath Condition=" '$(NCrunch)'=='1' ">$(NCrunchOriginalSolutionPath)</TheSolutionPath> 20 <TheSolutionPath Condition=" '$(NCrunch)'=='1' ">$(NCrunchOriginalSolutionPath)</TheSolutionPath>
@@ -45,4 +50,7 @@
45 50
46 </When> 51 </When>
47 </Choose> 52 </Choose>
53
54 <Import Project="Wix.Build.targets" Condition=" Exists('Wix.Build.targets') And '$(MSBuildProjectExtension)'=='.wixproj' " />
55 <Import Project="Custom.Build.targets" Condition=" Exists('Custom.Build.targets') " />
48</Project> 56</Project>
diff --git a/src/WixToolset.Extensibility/BaseBurnBackendExtension.cs b/src/WixToolset.Extensibility/BaseBurnBackendExtension.cs
index 99bf5e71..0575d725 100644
--- a/src/WixToolset.Extensibility/BaseBurnBackendExtension.cs
+++ b/src/WixToolset.Extensibility/BaseBurnBackendExtension.cs
@@ -9,6 +9,9 @@ namespace WixToolset.Extensibility
9 using WixToolset.Extensibility.Data; 9 using WixToolset.Extensibility.Data;
10 using WixToolset.Extensibility.Services; 10 using WixToolset.Extensibility.Services;
11 11
12 /// <summary>
13 /// Base class for creating a Burn backend extension.
14 /// </summary>
12 public abstract class BaseBurnBackendExtension : IBurnBackendExtension 15 public abstract class BaseBurnBackendExtension : IBurnBackendExtension
13 { 16 {
14 /// <summary> 17 /// <summary>
@@ -31,14 +34,25 @@ namespace WixToolset.Extensibility
31 /// </summary> 34 /// </summary>
32 protected virtual IEnumerable<IntermediateSymbolDefinition> SymbolDefinitions => Enumerable.Empty<IntermediateSymbolDefinition>(); 35 protected virtual IEnumerable<IntermediateSymbolDefinition> SymbolDefinitions => Enumerable.Empty<IntermediateSymbolDefinition>();
33 36
37 /// <summary>
38 /// Called after all output changes occur and right before the output is bound into its final format.
39 /// </summary>
34 public virtual void BundleFinalize() 40 public virtual void BundleFinalize()
35 { 41 {
36 } 42 }
37 43
44 /// <summary>
45 /// Called after output is bound into its final format.
46 /// </summary>
47 /// <param name="result"></param>
38 public virtual void PostBackendBind(IBindResult result) 48 public virtual void PostBackendBind(IBindResult result)
39 { 49 {
40 } 50 }
41 51
52 /// <summary>
53 /// Called before binding occurs.
54 /// </summary>
55 /// <param name="context"></param>
42 public virtual void PreBackendBind(IBindContext context) 56 public virtual void PreBackendBind(IBindContext context)
43 { 57 {
44 this.Context = context; 58 this.Context = context;
@@ -46,16 +60,44 @@ namespace WixToolset.Extensibility
46 this.BackendHelper = context.ServiceProvider.GetService<IBurnBackendHelper>(); 60 this.BackendHelper = context.ServiceProvider.GetService<IBurnBackendHelper>();
47 } 61 }
48 62
63 /// <summary>
64 ///
65 /// </summary>
66 /// <param name="source"></param>
67 /// <param name="relatedSource"></param>
68 /// <param name="type"></param>
69 /// <param name="sourceLineNumbers"></param>
70 /// <param name="bindStage"></param>
71 /// <returns></returns>
49 public virtual IResolveFileResult ResolveRelatedFile(string source, string relatedSource, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage) 72 public virtual IResolveFileResult ResolveRelatedFile(string source, string relatedSource, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage)
50 { 73 {
51 return null; 74 return null;
52 } 75 }
53 76
77 /// <summary>
78 ///
79 /// </summary>
80 /// <param name="url"></param>
81 /// <param name="fallbackUrl"></param>
82 /// <param name="packageId"></param>
83 /// <param name="payloadId"></param>
84 /// <param name="fileName"></param>
85 /// <returns></returns>
54 public virtual string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName) 86 public virtual string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName)
55 { 87 {
56 return null; 88 return null;
57 } 89 }
58 90
91 /// <summary>
92 /// Called for each extension symbol that hasn't been handled yet.
93 /// Use IBurnBackendHelper to add data to the appropriate data manifest.
94 /// </summary>
95 /// <param name="section">The linked section.</param>
96 /// <param name="symbol">The current symbol.</param>
97 /// <returns>
98 /// True if the extension handled the symbol, false otherwise.
99 /// The Burn backend will warn on all unhandled symbols.
100 /// </returns>
59 public virtual bool TryAddSymbolToDataManifest(IntermediateSection section, IntermediateSymbol symbol) 101 public virtual bool TryAddSymbolToDataManifest(IntermediateSection section, IntermediateSymbol symbol)
60 { 102 {
61 if (this.SymbolDefinitions.Any(t => t == symbol.Definition) && 103 if (this.SymbolDefinitions.Any(t => t == symbol.Definition) &&
diff --git a/src/WixToolset.Extensibility/BaseCompilerExtension.cs b/src/WixToolset.Extensibility/BaseCompilerExtension.cs
index 51fbcd0b..2eac3706 100644
--- a/src/WixToolset.Extensibility/BaseCompilerExtension.cs
+++ b/src/WixToolset.Extensibility/BaseCompilerExtension.cs
@@ -52,34 +52,24 @@ namespace WixToolset.Extensibility
52 } 52 }
53 53
54 /// <summary> 54 /// <summary>
55 /// Processes an attribute for the Compiler. 55 /// See <see cref="ICompilerExtension.ParseAttribute(Intermediate, IntermediateSection, XElement, XAttribute, IDictionary{string, string})"/>
56 /// </summary> 56 /// </summary>
57 /// <param name="parentElement">Parent element of attribute.</param>
58 /// <param name="attribute">Attribute to process.</param>
59 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
60 public virtual void ParseAttribute(Intermediate intermediate, IntermediateSection section, XElement parentElement, XAttribute attribute, IDictionary<string, string> context) 57 public virtual void ParseAttribute(Intermediate intermediate, IntermediateSection section, XElement parentElement, XAttribute attribute, IDictionary<string, string> context)
61 { 58 {
62 this.ParseHelper.UnexpectedAttribute(parentElement, attribute); 59 this.ParseHelper.UnexpectedAttribute(parentElement, attribute);
63 } 60 }
64 61
65 /// <summary> 62 /// <summary>
66 /// Processes an element for the Compiler. 63 /// See <see cref="ICompilerExtension.ParseElement(Intermediate, IntermediateSection, XElement, XElement, IDictionary{string, string})"/>
67 /// </summary> 64 /// </summary>
68 /// <param name="parentElement">Parent element of element to process.</param>
69 /// <param name="element">Element to process.</param>
70 /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param>
71 public virtual void ParseElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context) 65 public virtual void ParseElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context)
72 { 66 {
73 this.ParseHelper.UnexpectedElement(parentElement, element); 67 this.ParseHelper.UnexpectedElement(parentElement, element);
74 } 68 }
75 69
76 /// <summary> 70 /// <summary>
77 /// Processes an element for the Compiler, with the ability to supply a component keypath. 71 /// See <see cref="ICompilerExtension.ParsePossibleKeyPathElement(Intermediate, IntermediateSection, XElement, XElement, IDictionary{string, string})"/>
78 /// </summary> 72 /// </summary>
79 /// <param name="parentElement">Parent element of element to process.</param>
80 /// <param name="element">Element to process.</param>
81 /// <param name="keyPath">Explicit key path.</param>
82 /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param>
83 public virtual IComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context) 73 public virtual IComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context)
84 { 74 {
85 this.ParseElement(intermediate, section, parentElement, element, context); 75 this.ParseElement(intermediate, section, parentElement, element, context);
diff --git a/src/WixToolset.Extensibility/BaseExtensionCommandLine.cs b/src/WixToolset.Extensibility/BaseExtensionCommandLine.cs
index 5f2ca109..8a336e1b 100644
--- a/src/WixToolset.Extensibility/BaseExtensionCommandLine.cs
+++ b/src/WixToolset.Extensibility/BaseExtensionCommandLine.cs
@@ -7,23 +7,41 @@ namespace WixToolset.Extensibility
7 using WixToolset.Extensibility.Data; 7 using WixToolset.Extensibility.Data;
8 using WixToolset.Extensibility.Services; 8 using WixToolset.Extensibility.Services;
9 9
10 /// <summary>
11 /// Base class for extensions to be able to parse the command-line.
12 /// </summary>
10 public abstract class BaseExtensionCommandLine : IExtensionCommandLine 13 public abstract class BaseExtensionCommandLine : IExtensionCommandLine
11 { 14 {
15 /// <summary>
16 /// See <see cref="IExtensionCommandLine.CommandLineSwitches" />
17 /// </summary>
12 public virtual IEnumerable<ExtensionCommandLineSwitch> CommandLineSwitches => Enumerable.Empty<ExtensionCommandLineSwitch>(); 18 public virtual IEnumerable<ExtensionCommandLineSwitch> CommandLineSwitches => Enumerable.Empty<ExtensionCommandLineSwitch>();
13 19
20 /// <summary>
21 /// See <see cref="IExtensionCommandLine.PostParse" />
22 /// </summary>
14 public virtual void PostParse() 23 public virtual void PostParse()
15 { 24 {
16 } 25 }
17 26
27 /// <summary>
28 /// See <see cref="IExtensionCommandLine.PreParse" />
29 /// </summary>
18 public virtual void PreParse(ICommandLineContext context) 30 public virtual void PreParse(ICommandLineContext context)
19 { 31 {
20 } 32 }
21 33
34 /// <summary>
35 /// See <see cref="IExtensionCommandLine.TryParseArgument" />
36 /// </summary>
22 public virtual bool TryParseArgument(ICommandLineParser parser, string argument) 37 public virtual bool TryParseArgument(ICommandLineParser parser, string argument)
23 { 38 {
24 return false; 39 return false;
25 } 40 }
26 41
42 /// <summary>
43 /// See <see cref="IExtensionCommandLine.TryParseCommand" />
44 /// </summary>
27 public virtual bool TryParseCommand(ICommandLineParser parser, string argument, out ICommandLineCommand command) 45 public virtual bool TryParseCommand(ICommandLineParser parser, string argument, out ICommandLineCommand command)
28 { 46 {
29 command = null; 47 command = null;
diff --git a/src/WixToolset.Extensibility/BaseExtensionData.cs b/src/WixToolset.Extensibility/BaseExtensionData.cs
index 597a8e4d..e4a10fd9 100644
--- a/src/WixToolset.Extensibility/BaseExtensionData.cs
+++ b/src/WixToolset.Extensibility/BaseExtensionData.cs
@@ -9,13 +9,22 @@ namespace WixToolset.Extensibility
9 /// </summary> 9 /// </summary>
10 public abstract class BaseExtensionData : IExtensionData 10 public abstract class BaseExtensionData : IExtensionData
11 { 11 {
12 /// <summary>
13 /// See <see cref="IExtensionData.DefaultCulture"/>
14 /// </summary>
12 public virtual string DefaultCulture => null; 15 public virtual string DefaultCulture => null;
13 16
17 /// <summary>
18 /// See <see cref="IExtensionData.GetLibrary"/>
19 /// </summary>
14 public virtual Intermediate GetLibrary(ISymbolDefinitionCreator symbolDefinitions) 20 public virtual Intermediate GetLibrary(ISymbolDefinitionCreator symbolDefinitions)
15 { 21 {
16 return null; 22 return null;
17 } 23 }
18 24
25 /// <summary>
26 /// See <see cref="IExtensionData.TryGetSymbolDefinitionByName"/>
27 /// </summary>
19 public virtual bool TryGetSymbolDefinitionByName(string name, out IntermediateSymbolDefinition symbolDefinition) 28 public virtual bool TryGetSymbolDefinitionByName(string name, out IntermediateSymbolDefinition symbolDefinition)
20 { 29 {
21 symbolDefinition = null; 30 symbolDefinition = null;
diff --git a/src/WixToolset.Extensibility/BaseExtensionFactory.cs b/src/WixToolset.Extensibility/BaseExtensionFactory.cs
index d0686b46..2e21b51b 100644
--- a/src/WixToolset.Extensibility/BaseExtensionFactory.cs
+++ b/src/WixToolset.Extensibility/BaseExtensionFactory.cs
@@ -12,8 +12,14 @@ namespace WixToolset.Extensibility
12 /// </summary> 12 /// </summary>
13 public abstract class BaseExtensionFactory : IExtensionFactory 13 public abstract class BaseExtensionFactory : IExtensionFactory
14 { 14 {
15 /// <summary>
16 /// The extension types of the WiX extension.
17 /// </summary>
15 protected abstract IEnumerable<Type> ExtensionTypes { get; } 18 protected abstract IEnumerable<Type> ExtensionTypes { get; }
16 19
20 /// <summary>
21 /// See <see cref="IExtensionFactory.TryCreateExtension(Type, out object)"/>
22 /// </summary>
17 public virtual bool TryCreateExtension(Type extensionType, out object extension) 23 public virtual bool TryCreateExtension(Type extensionType, out object extension)
18 { 24 {
19 extension = null; 25 extension = null;
diff --git a/src/WixToolset.Extensibility/BaseLayoutExtension.cs b/src/WixToolset.Extensibility/BaseLayoutExtension.cs
index 78ec8d0a..21b932ff 100644
--- a/src/WixToolset.Extensibility/BaseLayoutExtension.cs
+++ b/src/WixToolset.Extensibility/BaseLayoutExtension.cs
@@ -30,11 +30,23 @@ namespace WixToolset.Extensibility
30 this.Messaging = context.ServiceProvider.GetService<IMessaging>(); 30 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
31 } 31 }
32 32
33 /// <summary>
34 /// See <see cref="ILayoutExtension.CopyFile(string, string)"/>
35 /// </summary>
36 /// <param name="source"></param>
37 /// <param name="destination"></param>
38 /// <returns></returns>
33 public virtual bool CopyFile(string source, string destination) 39 public virtual bool CopyFile(string source, string destination)
34 { 40 {
35 return false; 41 return false;
36 } 42 }
37 43
44 /// <summary>
45 /// See <see cref="ILayoutExtension.MoveFile(string, string)"/>
46 /// </summary>
47 /// <param name="source"></param>
48 /// <param name="destination"></param>
49 /// <returns></returns>
38 public virtual bool MoveFile(string source, string destination) 50 public virtual bool MoveFile(string source, string destination)
39 { 51 {
40 return false; 52 return false;
diff --git a/src/WixToolset.Extensibility/BasePreprocessorExtension.cs b/src/WixToolset.Extensibility/BasePreprocessorExtension.cs
index cfacf97a..b9a856ec 100644
--- a/src/WixToolset.Extensibility/BasePreprocessorExtension.cs
+++ b/src/WixToolset.Extensibility/BasePreprocessorExtension.cs
@@ -70,7 +70,6 @@ namespace WixToolset.Extensibility
70 /// <summary> 70 /// <summary>
71 /// Processes a pragma defined in the extension. 71 /// Processes a pragma defined in the extension.
72 /// </summary> 72 /// </summary>
73 /// <param name="sourceLineNumbers">The location of this pragma's PI.</param>
74 /// <param name="prefix">The prefix of the pragma to be processed by the extension.</param> 73 /// <param name="prefix">The prefix of the pragma to be processed by the extension.</param>
75 /// <param name="pragma">The name of the pragma.</param> 74 /// <param name="pragma">The name of the pragma.</param>
76 /// <param name="args">The pragma's arguments.</param> 75 /// <param name="args">The pragma's arguments.</param>
diff --git a/src/WixToolset.Extensibility/BaseResolverExtension.cs b/src/WixToolset.Extensibility/BaseResolverExtension.cs
index ede903d5..72dc5c41 100644
--- a/src/WixToolset.Extensibility/BaseResolverExtension.cs
+++ b/src/WixToolset.Extensibility/BaseResolverExtension.cs
@@ -36,6 +36,14 @@ namespace WixToolset.Extensibility
36 this.Messaging = context.ServiceProvider.GetService<IMessaging>(); 36 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
37 } 37 }
38 38
39 /// <summary>
40 /// See <see cref="IResolverExtension.ResolveFile(string, IntermediateSymbolDefinition, SourceLineNumber, BindStage)"/>
41 /// </summary>
42 /// <param name="source"></param>
43 /// <param name="symbolDefinition"></param>
44 /// <param name="sourceLineNumbers"></param>
45 /// <param name="bindStage"></param>
46 /// <returns></returns>
39 public virtual IResolveFileResult ResolveFile(string source, IntermediateSymbolDefinition symbolDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage) 47 public virtual IResolveFileResult ResolveFile(string source, IntermediateSymbolDefinition symbolDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage)
40 { 48 {
41 return null; 49 return null;
diff --git a/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs b/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs
index 20e02f2e..e2be63bf 100644
--- a/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs
+++ b/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs
@@ -40,6 +40,9 @@ namespace WixToolset.Extensibility
40 /// </summary> 40 /// </summary>
41 protected IResolvedCabinet CreateResolvedCabinet() => this.Context.ServiceProvider.GetService<IResolvedCabinet>(); 41 protected IResolvedCabinet CreateResolvedCabinet() => this.Context.ServiceProvider.GetService<IResolvedCabinet>();
42 42
43 /// <summary>
44 /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
45 /// </summary>
43 public virtual void PreBackendBind(IBindContext context) 46 public virtual void PreBackendBind(IBindContext context)
44 { 47 {
45 this.Context = context; 48 this.Context = context;
@@ -49,10 +52,19 @@ namespace WixToolset.Extensibility
49 this.BackendHelper = context.ServiceProvider.GetService<IWindowsInstallerBackendHelper>(); 52 this.BackendHelper = context.ServiceProvider.GetService<IWindowsInstallerBackendHelper>();
50 } 53 }
51 54
55 /// <summary>
56 /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
57 /// </summary>
52 public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files) => null; 58 public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files) => null;
53 59
60 /// <summary>
61 /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
62 /// </summary>
54 public virtual string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory) => null; 63 public virtual string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory) => null;
55 64
65 /// <summary>
66 /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
67 /// </summary>
56 public virtual bool TryAddSymbolToOutput(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions) 68 public virtual bool TryAddSymbolToOutput(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions)
57 { 69 {
58 if (this.TableDefinitions.Any(t => t.SymbolDefinition == symbol.Definition)) 70 if (this.TableDefinitions.Any(t => t.SymbolDefinition == symbol.Definition))
@@ -63,6 +75,9 @@ namespace WixToolset.Extensibility
63 return false; 75 return false;
64 } 76 }
65 77
78 /// <summary>
79 /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
80 /// </summary>
66 public virtual void PostBackendBind(IBindResult result) 81 public virtual void PostBackendBind(IBindResult result)
67 { 82 {
68 } 83 }
diff --git a/src/WixToolset.Extensibility/CompilerConstants.cs b/src/WixToolset.Extensibility/CompilerConstants.cs
index f26456fb..73ff685c 100644
--- a/src/WixToolset.Extensibility/CompilerConstants.cs
+++ b/src/WixToolset.Extensibility/CompilerConstants.cs
@@ -9,11 +9,34 @@ namespace WixToolset.Extensibility
9 /// </summary> 9 /// </summary>
10 public static class CompilerConstants 10 public static class CompilerConstants
11 { 11 {
12 /// <summary>
13 ///
14 /// </summary>
12 public const int IntegerNotSet = int.MinValue; 15 public const int IntegerNotSet = int.MinValue;
16
17 /// <summary>
18 ///
19 /// </summary>
13 public const int IllegalInteger = int.MinValue + 1; 20 public const int IllegalInteger = int.MinValue + 1;
21
22 /// <summary>
23 ///
24 /// </summary>
14 public const long LongNotSet = long.MinValue; 25 public const long LongNotSet = long.MinValue;
26
27 /// <summary>
28 ///
29 /// </summary>
15 public const long IllegalLong = long.MinValue + 1; 30 public const long IllegalLong = long.MinValue + 1;
31
32 /// <summary>
33 ///
34 /// </summary>
16 public const string IllegalGuid = "IllegalGuid"; 35 public const string IllegalGuid = "IllegalGuid";
36
37 /// <summary>
38 ///
39 /// </summary>
17 public static readonly Version IllegalVersion = new Version(Int32.MaxValue, Int32.MaxValue, Int32.MaxValue, Int32.MaxValue); 40 public static readonly Version IllegalVersion = new Version(Int32.MaxValue, Int32.MaxValue, Int32.MaxValue, Int32.MaxValue);
18 } 41 }
19} 42}
diff --git a/src/WixToolset.Extensibility/Data/BindStage.cs b/src/WixToolset.Extensibility/Data/BindStage.cs
index 559a5a5a..a690a896 100644
--- a/src/WixToolset.Extensibility/Data/BindStage.cs
+++ b/src/WixToolset.Extensibility/Data/BindStage.cs
@@ -2,6 +2,9 @@
2 2
3namespace WixToolset.Extensibility.Data 3namespace WixToolset.Extensibility.Data
4{ 4{
5 /// <summary>
6 ///
7 /// </summary>
5 public enum BindStage 8 public enum BindStage
6 { 9 {
7 /// <summary> 10 /// <summary>
diff --git a/src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs b/src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs
index d1d8f0c3..14b5dabb 100644
--- a/src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs
+++ b/src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs
@@ -1,4 +1,4 @@
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
3namespace WixToolset.Extensibility.Data 3namespace WixToolset.Extensibility.Data
4{ 4{
@@ -7,8 +7,14 @@ namespace WixToolset.Extensibility.Data
7 /// </summary> 7 /// </summary>
8 public struct ExtensionCommandLineSwitch 8 public struct ExtensionCommandLineSwitch
9 { 9 {
10 /// <summary>
11 ///
12 /// </summary>
10 public string Switch { get; set; } 13 public string Switch { get; set; }
11 14
15 /// <summary>
16 ///
17 /// </summary>
12 public string Description { get; set; } 18 public string Description { get; set; }
13 } 19 }
14} 20}
diff --git a/src/WixToolset.Extensibility/Data/IBindContext.cs b/src/WixToolset.Extensibility/Data/IBindContext.cs
index 650e7fc1..fd5a3ee4 100644
--- a/src/WixToolset.Extensibility/Data/IBindContext.cs
+++ b/src/WixToolset.Extensibility/Data/IBindContext.cs
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services; 8 using WixToolset.Extensibility.Services;
9 9
10#pragma warning disable 1591 // TODO: add documentation
10 public interface IBindContext 11 public interface IBindContext
11 { 12 {
12 IWixToolsetServiceProvider ServiceProvider { get; } 13 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/IBindFileWithPath.cs b/src/WixToolset.Extensibility/Data/IBindFileWithPath.cs
index ec78a1a0..69036113 100644
--- a/src/WixToolset.Extensibility/Data/IBindFileWithPath.cs
+++ b/src/WixToolset.Extensibility/Data/IBindFileWithPath.cs
@@ -2,6 +2,7 @@
2 2
3namespace WixToolset.Extensibility.Data 3namespace WixToolset.Extensibility.Data
4{ 4{
5#pragma warning disable 1591 // TODO: add documentation
5 public interface IBindFileWithPath 6 public interface IBindFileWithPath
6 { 7 {
7 string Id { get; set; } 8 string Id { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/IBindPath.cs b/src/WixToolset.Extensibility/Data/IBindPath.cs
index 5784a0e0..46895e89 100644
--- a/src/WixToolset.Extensibility/Data/IBindPath.cs
+++ b/src/WixToolset.Extensibility/Data/IBindPath.cs
@@ -2,6 +2,9 @@
2 2
3namespace WixToolset.Extensibility.Data 3namespace WixToolset.Extensibility.Data
4{ 4{
5 /// <summary>
6 /// Interface for a bind path.
7 /// </summary>
5 public interface IBindPath 8 public interface IBindPath
6 { 9 {
7 /// <summary> 10 /// <summary>
diff --git a/src/WixToolset.Extensibility/Data/IBindResult.cs b/src/WixToolset.Extensibility/Data/IBindResult.cs
index 0be93bce..1654f24d 100644
--- a/src/WixToolset.Extensibility/Data/IBindResult.cs
+++ b/src/WixToolset.Extensibility/Data/IBindResult.cs
@@ -6,6 +6,7 @@ namespace WixToolset.Extensibility.Data
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using WixToolset.Data; 7 using WixToolset.Data;
8 8
9#pragma warning disable 1591 // TODO: add documentation
9 public interface IBindResult : IDisposable 10 public interface IBindResult : IDisposable
10 { 11 {
11 IEnumerable<IFileTransfer> FileTransfers { get; set; } 12 IEnumerable<IFileTransfer> FileTransfers { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs b/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs
index b732c648..32ee4c09 100644
--- a/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs
+++ b/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs
@@ -9,6 +9,7 @@ namespace WixToolset.Extensibility.Data
9 /// </summary> 9 /// </summary>
10 public interface ICommandLineArguments 10 public interface ICommandLineArguments
11 { 11 {
12#pragma warning disable 1591 // TODO: add documentation
12 string[] OriginalArguments { get; set; } 13 string[] OriginalArguments { get; set; }
13 14
14 string[] Arguments { get; set; } 15 string[] Arguments { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/ICommandLineContext.cs b/src/WixToolset.Extensibility/Data/ICommandLineContext.cs
index 41c913fe..fbaa84d1 100644
--- a/src/WixToolset.Extensibility/Data/ICommandLineContext.cs
+++ b/src/WixToolset.Extensibility/Data/ICommandLineContext.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System; 5 using System;
6 using WixToolset.Extensibility.Services; 6 using WixToolset.Extensibility.Services;
7 7
8#pragma warning disable 1591 // TODO: add documentation
8 public interface ICommandLineContext 9 public interface ICommandLineContext
9 { 10 {
10 IWixToolsetServiceProvider ServiceProvider { get; } 11 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/ICompileContext.cs b/src/WixToolset.Extensibility/Data/ICompileContext.cs
index 277b842c..1c3620b6 100644
--- a/src/WixToolset.Extensibility/Data/ICompileContext.cs
+++ b/src/WixToolset.Extensibility/Data/ICompileContext.cs
@@ -8,6 +8,7 @@ namespace WixToolset.Extensibility.Data
8 using WixToolset.Data; 8 using WixToolset.Data;
9 using WixToolset.Extensibility.Services; 9 using WixToolset.Extensibility.Services;
10 10
11#pragma warning disable 1591 // TODO: add documentation
11 public interface ICompileContext 12 public interface ICompileContext
12 { 13 {
13 IWixToolsetServiceProvider ServiceProvider { get; } 14 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/IComponentKeyPath.cs b/src/WixToolset.Extensibility/Data/IComponentKeyPath.cs
index 9417b836..2de9c028 100644
--- a/src/WixToolset.Extensibility/Data/IComponentKeyPath.cs
+++ b/src/WixToolset.Extensibility/Data/IComponentKeyPath.cs
@@ -2,6 +2,7 @@
2 2
3namespace WixToolset.Extensibility.Data 3namespace WixToolset.Extensibility.Data
4{ 4{
5#pragma warning disable 1591 // TODO: add documentation
5 public interface IComponentKeyPath 6 public interface IComponentKeyPath
6 { 7 {
7 bool Explicit { get; set; } 8 bool Explicit { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/IDecompileContext.cs b/src/WixToolset.Extensibility/Data/IDecompileContext.cs
index 29d6fb3b..f783a31e 100644
--- a/src/WixToolset.Extensibility/Data/IDecompileContext.cs
+++ b/src/WixToolset.Extensibility/Data/IDecompileContext.cs
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services; 8 using WixToolset.Extensibility.Services;
9 9
10#pragma warning disable 1591 // TODO: add documentation
10 public interface IDecompileContext 11 public interface IDecompileContext
11 { 12 {
12 IWixToolsetServiceProvider ServiceProvider { get; } 13 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/IDecompileResult.cs b/src/WixToolset.Extensibility/Data/IDecompileResult.cs
index d15f8847..ad4d0841 100644
--- a/src/WixToolset.Extensibility/Data/IDecompileResult.cs
+++ b/src/WixToolset.Extensibility/Data/IDecompileResult.cs
@@ -6,6 +6,7 @@ namespace WixToolset.Extensibility.Data
6 using System.Xml.Linq; 6 using System.Xml.Linq;
7 using WixToolset.Data; 7 using WixToolset.Data;
8 8
9#pragma warning disable 1591 // TODO: add documentation
9 public interface IDecompileResult 10 public interface IDecompileResult
10 { 11 {
11 XDocument Document { get; set; } 12 XDocument Document { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/IDelayedField.cs b/src/WixToolset.Extensibility/Data/IDelayedField.cs
index 83139413..59a578a6 100644
--- a/src/WixToolset.Extensibility/Data/IDelayedField.cs
+++ b/src/WixToolset.Extensibility/Data/IDelayedField.cs
@@ -4,6 +4,7 @@ namespace WixToolset.Extensibility.Data
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 6
7#pragma warning disable 1591 // TODO: add documentation
7 public interface IDelayedField 8 public interface IDelayedField
8 { 9 {
9 IntermediateField Field { get; } 10 IntermediateField Field { get; }
diff --git a/src/WixToolset.Extensibility/Data/IExpectedExtractFile.cs b/src/WixToolset.Extensibility/Data/IExpectedExtractFile.cs
index 50015112..4bc8cd96 100644
--- a/src/WixToolset.Extensibility/Data/IExpectedExtractFile.cs
+++ b/src/WixToolset.Extensibility/Data/IExpectedExtractFile.cs
@@ -4,6 +4,7 @@ namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 6
7#pragma warning disable 1591 // TODO: add documentation
7 public interface IExpectedExtractFile 8 public interface IExpectedExtractFile
8 { 9 {
9 Uri Uri { get; set; } 10 Uri Uri { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/IFileSystemContext.cs b/src/WixToolset.Extensibility/Data/IFileSystemContext.cs
index f27e16d5..321fa83c 100644
--- a/src/WixToolset.Extensibility/Data/IFileSystemContext.cs
+++ b/src/WixToolset.Extensibility/Data/IFileSystemContext.cs
@@ -6,6 +6,7 @@ namespace WixToolset.Extensibility.Data
6 using WixToolset.Data; 6 using WixToolset.Data;
7 using WixToolset.Extensibility.Services; 7 using WixToolset.Extensibility.Services;
8 8
9#pragma warning disable 1591 // TODO: add documentation
9 public interface IFileSystemContext 10 public interface IFileSystemContext
10 { 11 {
11 IWixToolsetServiceProvider ServiceProvider { get; } 12 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/IIncludedFile.cs b/src/WixToolset.Extensibility/Data/IIncludedFile.cs
index ac5e604c..e25c9f7e 100644
--- a/src/WixToolset.Extensibility/Data/IIncludedFile.cs
+++ b/src/WixToolset.Extensibility/Data/IIncludedFile.cs
@@ -4,6 +4,9 @@ namespace WixToolset.Extensibility.Data
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 6
7 /// <summary>
8 /// Interface for an included file.
9 /// </summary>
7 public interface IIncludedFile 10 public interface IIncludedFile
8 { 11 {
9 /// <summary> 12 /// <summary>
diff --git a/src/WixToolset.Extensibility/Data/IInscribeContext.cs b/src/WixToolset.Extensibility/Data/IInscribeContext.cs
index 816a0c80..79d4d1f5 100644
--- a/src/WixToolset.Extensibility/Data/IInscribeContext.cs
+++ b/src/WixToolset.Extensibility/Data/IInscribeContext.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System; 5 using System;
6 using WixToolset.Extensibility.Services; 6 using WixToolset.Extensibility.Services;
7 7
8#pragma warning disable 1591 // TODO: add documentation
8 public interface IInscribeContext 9 public interface IInscribeContext
9 { 10 {
10 IWixToolsetServiceProvider ServiceProvider { get; } 11 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/ILayoutContext.cs b/src/WixToolset.Extensibility/Data/ILayoutContext.cs
index 60e5cc8d..89d61d5c 100644
--- a/src/WixToolset.Extensibility/Data/ILayoutContext.cs
+++ b/src/WixToolset.Extensibility/Data/ILayoutContext.cs
@@ -6,6 +6,7 @@ namespace WixToolset.Extensibility.Data
6 using System.Threading; 6 using System.Threading;
7 using WixToolset.Extensibility.Services; 7 using WixToolset.Extensibility.Services;
8 8
9#pragma warning disable 1591 // TODO: add documentation
9 public interface ILayoutContext 10 public interface ILayoutContext
10 { 11 {
11 IWixToolsetServiceProvider ServiceProvider { get; } 12 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/ILibraryContext.cs b/src/WixToolset.Extensibility/Data/ILibraryContext.cs
index 12a400cd..68a9faa9 100644
--- a/src/WixToolset.Extensibility/Data/ILibraryContext.cs
+++ b/src/WixToolset.Extensibility/Data/ILibraryContext.cs
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services; 8 using WixToolset.Extensibility.Services;
9 9
10#pragma warning disable 1591 // TODO: add documentation
10 public interface ILibraryContext 11 public interface ILibraryContext
11 { 12 {
12 IWixToolsetServiceProvider ServiceProvider { get; } 13 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/ILinkContext.cs b/src/WixToolset.Extensibility/Data/ILinkContext.cs
index ab698c1d..c6c9cf7d 100644
--- a/src/WixToolset.Extensibility/Data/ILinkContext.cs
+++ b/src/WixToolset.Extensibility/Data/ILinkContext.cs
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services; 8 using WixToolset.Extensibility.Services;
9 9
10#pragma warning disable 1591 // TODO: add documentation
10 public interface ILinkContext 11 public interface ILinkContext
11 { 12 {
12 IWixToolsetServiceProvider ServiceProvider { get; } 13 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/IPreprocessContext.cs b/src/WixToolset.Extensibility/Data/IPreprocessContext.cs
index 3418242a..b07fb81f 100644
--- a/src/WixToolset.Extensibility/Data/IPreprocessContext.cs
+++ b/src/WixToolset.Extensibility/Data/IPreprocessContext.cs
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services; 8 using WixToolset.Extensibility.Services;
9 9
10#pragma warning disable 1591 // TODO: add documentation
10 public interface IPreprocessContext 11 public interface IPreprocessContext
11 { 12 {
12 IWixToolsetServiceProvider ServiceProvider { get; } 13 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/IPreprocessResult.cs b/src/WixToolset.Extensibility/Data/IPreprocessResult.cs
index 955c0ced..d46c8147 100644
--- a/src/WixToolset.Extensibility/Data/IPreprocessResult.cs
+++ b/src/WixToolset.Extensibility/Data/IPreprocessResult.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 using System.Xml.Linq; 6 using System.Xml.Linq;
7 7
8#pragma warning disable 1591 // TODO: add documentation
8 public interface IPreprocessResult 9 public interface IPreprocessResult
9 { 10 {
10 XDocument Document { get; set; } 11 XDocument Document { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/IResolveContext.cs b/src/WixToolset.Extensibility/Data/IResolveContext.cs
index e84655b8..2c775932 100644
--- a/src/WixToolset.Extensibility/Data/IResolveContext.cs
+++ b/src/WixToolset.Extensibility/Data/IResolveContext.cs
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services; 8 using WixToolset.Extensibility.Services;
9 9
10#pragma warning disable 1591 // TODO: add documentation
10 public interface IResolveContext 11 public interface IResolveContext
11 { 12 {
12 IWixToolsetServiceProvider ServiceProvider { get; } 13 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/IResolveFileResult.cs b/src/WixToolset.Extensibility/Data/IResolveFileResult.cs
index bf0af72e..c8dca81a 100644
--- a/src/WixToolset.Extensibility/Data/IResolveFileResult.cs
+++ b/src/WixToolset.Extensibility/Data/IResolveFileResult.cs
@@ -4,6 +4,7 @@ namespace WixToolset.Extensibility.Data
4{ 4{
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 6
7#pragma warning disable 1591 // TODO: add documentation
7 public interface IResolveFileResult 8 public interface IResolveFileResult
8 { 9 {
9 IEnumerable<string> CheckedPaths { get; set; } 10 IEnumerable<string> CheckedPaths { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/IResolveResult.cs b/src/WixToolset.Extensibility/Data/IResolveResult.cs
index 87b9c573..7c3403d4 100644
--- a/src/WixToolset.Extensibility/Data/IResolveResult.cs
+++ b/src/WixToolset.Extensibility/Data/IResolveResult.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 using WixToolset.Data; 6 using WixToolset.Data;
7 7
8#pragma warning disable 1591 // TODO: add documentation
8 public interface IResolveResult 9 public interface IResolveResult
9 { 10 {
10 int Codepage { get; set; } 11 int Codepage { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/IResolvedCabinet.cs b/src/WixToolset.Extensibility/Data/IResolvedCabinet.cs
index c94ff8db..0c07d387 100644
--- a/src/WixToolset.Extensibility/Data/IResolvedCabinet.cs
+++ b/src/WixToolset.Extensibility/Data/IResolvedCabinet.cs
@@ -2,6 +2,7 @@
2 2
3namespace WixToolset.Extensibility.Data 3namespace WixToolset.Extensibility.Data
4{ 4{
5#pragma warning disable 1591 // TODO: add documentation
5 public interface IResolvedCabinet 6 public interface IResolvedCabinet
6 { 7 {
7 CabinetBuildOption BuildOption { get; set; } 8 CabinetBuildOption BuildOption { get; set; }
diff --git a/src/WixToolset.Extensibility/Data/IUnbindContext.cs b/src/WixToolset.Extensibility/Data/IUnbindContext.cs
index bdc31240..faf77f5d 100644
--- a/src/WixToolset.Extensibility/Data/IUnbindContext.cs
+++ b/src/WixToolset.Extensibility/Data/IUnbindContext.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System; 5 using System;
6 using WixToolset.Extensibility.Services; 6 using WixToolset.Extensibility.Services;
7 7
8#pragma warning disable 1591 // TODO: add documentation
8 public interface IUnbindContext 9 public interface IUnbindContext
9 { 10 {
10 IWixToolsetServiceProvider ServiceProvider { get; } 11 IWixToolsetServiceProvider ServiceProvider { get; }
diff --git a/src/WixToolset.Extensibility/Data/PossibleKeyPathType.cs b/src/WixToolset.Extensibility/Data/PossibleKeyPathType.cs
index 75ccb1d1..08e927e4 100644
--- a/src/WixToolset.Extensibility/Data/PossibleKeyPathType.cs
+++ b/src/WixToolset.Extensibility/Data/PossibleKeyPathType.cs
@@ -2,6 +2,9 @@
2 2
3namespace WixToolset.Extensibility.Data 3namespace WixToolset.Extensibility.Data
4{ 4{
5 /// <summary>
6 /// Key path types.
7 /// </summary>
5 public enum PossibleKeyPathType 8 public enum PossibleKeyPathType
6 { 9 {
7 /// <summary> 10 /// <summary>
diff --git a/src/WixToolset.Extensibility/Data/TrackedFileType.cs b/src/WixToolset.Extensibility/Data/TrackedFileType.cs
index 195d5de9..e7f53842 100644
--- a/src/WixToolset.Extensibility/Data/TrackedFileType.cs
+++ b/src/WixToolset.Extensibility/Data/TrackedFileType.cs
@@ -1,7 +1,10 @@
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
3namespace WixToolset.Extensibility.Data 3namespace WixToolset.Extensibility.Data
4{ 4{
5 /// <summary>
6 /// Tracked file types.
7 /// </summary>
5 public enum TrackedFileType 8 public enum TrackedFileType
6 { 9 {
7 /// <summary> 10 /// <summary>
diff --git a/src/WixToolset.Extensibility/DecompilerConstants.cs b/src/WixToolset.Extensibility/DecompilerConstants.cs
index 83393da9..22e8530d 100644
--- a/src/WixToolset.Extensibility/DecompilerConstants.cs
+++ b/src/WixToolset.Extensibility/DecompilerConstants.cs
@@ -7,7 +7,14 @@ namespace WixToolset.Extensibility
7 /// </summary> 7 /// </summary>
8 public static class DecompilerConstants 8 public static class DecompilerConstants
9 { 9 {
10 /// <summary>
11 ///
12 /// </summary>
10 public const char PrimaryKeyDelimiter = '/'; 13 public const char PrimaryKeyDelimiter = '/';
14
15 /// <summary>
16 ///
17 /// </summary>
11 public const string PrimaryKeyDelimiterString = "/"; 18 public const string PrimaryKeyDelimiterString = "/";
12 } 19 }
13} 20}
diff --git a/src/WixToolset.Extensibility/IBackend.cs b/src/WixToolset.Extensibility/IBackend.cs
index 12a7e834..9579c3ca 100644
--- a/src/WixToolset.Extensibility/IBackend.cs
+++ b/src/WixToolset.Extensibility/IBackend.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Extensibility.Data; 6 using WixToolset.Extensibility.Data;
7 7
8#pragma warning disable 1591 // TODO: add documentation
8 public interface IBackend 9 public interface IBackend
9 { 10 {
10 IBindResult Bind(IBindContext context); 11 IBindResult Bind(IBindContext context);
diff --git a/src/WixToolset.Extensibility/IBackendFactory.cs b/src/WixToolset.Extensibility/IBackendFactory.cs
index 1155e9b6..99a6704f 100644
--- a/src/WixToolset.Extensibility/IBackendFactory.cs
+++ b/src/WixToolset.Extensibility/IBackendFactory.cs
@@ -1,7 +1,8 @@
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
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5#pragma warning disable 1591 // TODO: add documentation
5 public interface IBackendFactory 6 public interface IBackendFactory
6 { 7 {
7 bool TryCreateBackend(string outputType, string outputPath, out IBackend backend); 8 bool TryCreateBackend(string outputType, string outputPath, out IBackend backend);
diff --git a/src/WixToolset.Extensibility/IBurnBackendExtension.cs b/src/WixToolset.Extensibility/IBurnBackendExtension.cs
index 356d208d..769c2457 100644
--- a/src/WixToolset.Extensibility/IBurnBackendExtension.cs
+++ b/src/WixToolset.Extensibility/IBurnBackendExtension.cs
@@ -5,6 +5,9 @@ namespace WixToolset.Extensibility
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Extensibility.Data; 6 using WixToolset.Extensibility.Data;
7 7
8 /// <summary>
9 /// Interface all Burn backend extensions implement.
10 /// </summary>
8 public interface IBurnBackendExtension 11 public interface IBurnBackendExtension
9 { 12 {
10 /// <summary> 13 /// <summary>
@@ -12,8 +15,26 @@ namespace WixToolset.Extensibility
12 /// </summary> 15 /// </summary>
13 void PreBackendBind(IBindContext context); 16 void PreBackendBind(IBindContext context);
14 17
18 /// <summary>
19 ///
20 /// </summary>
21 /// <param name="source"></param>
22 /// <param name="relatedSource"></param>
23 /// <param name="type"></param>
24 /// <param name="sourceLineNumbers"></param>
25 /// <param name="bindStage"></param>
26 /// <returns></returns>
15 IResolveFileResult ResolveRelatedFile(string source, string relatedSource, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage); 27 IResolveFileResult ResolveRelatedFile(string source, string relatedSource, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage);
16 28
29 /// <summary>
30 ///
31 /// </summary>
32 /// <param name="url"></param>
33 /// <param name="fallbackUrl"></param>
34 /// <param name="packageId"></param>
35 /// <param name="payloadId"></param>
36 /// <param name="fileName"></param>
37 /// <returns></returns>
17 string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName); 38 string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName);
18 39
19 /// <summary> 40 /// <summary>
diff --git a/src/WixToolset.Extensibility/ICompilerExtension.cs b/src/WixToolset.Extensibility/ICompilerExtension.cs
index f2fd8193..55ef683a 100644
--- a/src/WixToolset.Extensibility/ICompilerExtension.cs
+++ b/src/WixToolset.Extensibility/ICompilerExtension.cs
@@ -26,6 +26,8 @@ namespace WixToolset.Extensibility
26 /// <summary> 26 /// <summary>
27 /// Processes an attribute for the Compiler. 27 /// Processes an attribute for the Compiler.
28 /// </summary> 28 /// </summary>
29 /// <param name="intermediate">Parent intermediate.</param>
30 /// <param name="section">Parent section.</param>
29 /// <param name="parentElement">Parent element of attribute.</param> 31 /// <param name="parentElement">Parent element of attribute.</param>
30 /// <param name="attribute">Attribute to process.</param> 32 /// <param name="attribute">Attribute to process.</param>
31 /// <param name="context">Extra information about the context in which this element is being parsed.</param> 33 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
@@ -34,6 +36,8 @@ namespace WixToolset.Extensibility
34 /// <summary> 36 /// <summary>
35 /// Processes an element for the Compiler. 37 /// Processes an element for the Compiler.
36 /// </summary> 38 /// </summary>
39 /// <param name="intermediate">Parent intermediate.</param>
40 /// <param name="section">Parent section.</param>
37 /// <param name="parentElement">Parent element of element to process.</param> 41 /// <param name="parentElement">Parent element of element to process.</param>
38 /// <param name="element">Element to process.</param> 42 /// <param name="element">Element to process.</param>
39 /// <param name="context">Extra information about the context in which this element is being parsed.</param> 43 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
@@ -42,9 +46,11 @@ namespace WixToolset.Extensibility
42 /// <summary> 46 /// <summary>
43 /// Processes an element for the Compiler, with the ability to supply a component keypath. 47 /// Processes an element for the Compiler, with the ability to supply a component keypath.
44 /// </summary> 48 /// </summary>
49 /// <param name="intermediate">Parent intermediate.</param>
50 /// <param name="section">Parent section.</param>
45 /// <param name="parentElement">Parent element of element to process.</param> 51 /// <param name="parentElement">Parent element of element to process.</param>
46 /// <param name="element">Element to process.</param> 52 /// <param name="element">Element to process.</param>
47 /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param> 53 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
48 IComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context); 54 IComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context);
49 55
50 /// <summary> 56 /// <summary>
diff --git a/src/WixToolset.Extensibility/IExtensionCommandLine.cs b/src/WixToolset.Extensibility/IExtensionCommandLine.cs
index 45683373..2c7d0a7e 100644
--- a/src/WixToolset.Extensibility/IExtensionCommandLine.cs
+++ b/src/WixToolset.Extensibility/IExtensionCommandLine.cs
@@ -34,11 +34,10 @@ namespace WixToolset.Extensibility
34 /// <summary> 34 /// <summary>
35 /// Gives the extension an opportunity to provide a command. 35 /// Gives the extension an opportunity to provide a command.
36 /// </summary> 36 /// </summary>
37 /// </summary>
38 /// <param name="parser">Parser to help parse the argument and additional arguments.</param> 37 /// <param name="parser">Parser to help parse the argument and additional arguments.</param>
39 /// <param name="argument">Argument to parse.</param> 38 /// <param name="argument">Argument to parse.</param>
40 /// <param name="command"></param> 39 /// <param name="command"></param>
41 /// <returns>True if the argument is recognized as a commond; otherwise false to allow another extension to process it.</returns> 40 /// <returns>True if the argument is recognized as a command; otherwise false to allow another extension to process it.</returns>
42 bool TryParseCommand(ICommandLineParser parser, string argument, out ICommandLineCommand command); 41 bool TryParseCommand(ICommandLineParser parser, string argument, out ICommandLineCommand command);
43 42
44 /// <summary> 43 /// <summary>
diff --git a/src/WixToolset.Extensibility/IFileSystemExtension.cs b/src/WixToolset.Extensibility/IFileSystemExtension.cs
index 0a3e84b8..9807e8b9 100644
--- a/src/WixToolset.Extensibility/IFileSystemExtension.cs
+++ b/src/WixToolset.Extensibility/IFileSystemExtension.cs
@@ -9,6 +9,7 @@ namespace WixToolset.Extensibility
9 /// </summary> 9 /// </summary>
10 public interface IFileSystemExtension 10 public interface IFileSystemExtension
11 { 11 {
12#pragma warning disable 1591 // TODO: add documentation
12 void Initialize(IFileSystemContext context); 13 void Initialize(IFileSystemContext context);
13 14
14 bool? CompareFiles(string targetFile, string updatedFile); 15 bool? CompareFiles(string targetFile, string updatedFile);
diff --git a/src/WixToolset.Extensibility/IInspectorExtension.cs b/src/WixToolset.Extensibility/IInspectorExtension.cs
index 6c4be1e5..7c488a89 100644
--- a/src/WixToolset.Extensibility/IInspectorExtension.cs
+++ b/src/WixToolset.Extensibility/IInspectorExtension.cs
@@ -10,15 +10,13 @@ namespace WixToolset.Extensibility
10 /// Interface for inspector extensions. 10 /// Interface for inspector extensions.
11 /// </summary> 11 /// </summary>
12 /// <remarks> 12 /// <remarks>
13 /// The inspector methods are stateless, but extensions are loaded and last for the lifetime of the 13 /// The inspector methods are stateless, but extensions are loaded once. If you want to maintain state, you should check
14 /// containing classes like <see cref="Preprocessor"/>, <see cref="Compiler"/>, <see cref="Linker"/>,
15 /// <see cref="Differ"/>, and <see cref="Binder"/>. If you want to maintain state, you should check
16 /// if your data is loaded for each method and, if not, load it. 14 /// if your data is loaded for each method and, if not, load it.
17 /// </remarks> 15 /// </remarks>
18 public interface IInspectorExtension 16 public interface IInspectorExtension
19 { 17 {
20 /// <summary> 18 /// <summary>
21 /// Gets or sets the <see cref="InspectorCore"/> for inspector extensions to use. 19 /// Gets or sets the <see cref="IInspectorCore"/> for inspector extensions to use.
22 /// </summary> 20 /// </summary>
23 IInspectorCore Core { get; set; } 21 IInspectorCore Core { get; set; }
24 22
@@ -34,6 +32,7 @@ namespace WixToolset.Extensibility
34 /// <param name="intermediate">The compiled output.</param> 32 /// <param name="intermediate">The compiled output.</param>
35 void InspectIntermediate(Intermediate intermediate); 33 void InspectIntermediate(Intermediate intermediate);
36 34
35#if REWRITE
37 /// <summary> 36 /// <summary>
38 /// Inspect the output. 37 /// Inspect the output.
39 /// </summary> 38 /// </summary>
@@ -46,13 +45,15 @@ namespace WixToolset.Extensibility
46 /// transforms are the primary transforms you'll typically want to inspect 45 /// transforms are the primary transforms you'll typically want to inspect
47 /// and contain your changes to target products. 46 /// and contain your changes to target products.
48 /// </remarks> 47 /// </remarks>
48#endif
49 /// <summary />
49 void InspectOutput(Intermediate output); 50 void InspectOutput(Intermediate output);
50 51
51 /// <summary> 52 /// <summary>
52 /// Inspect the final output after binding. 53 /// Inspect the final output after binding.
53 /// </summary> 54 /// </summary>
54 /// <param name="filePath">The file path to the final bound output.</param> 55 /// <param name="filePath">The file path to the final bound output.</param>
55 /// <param name="pdb">The <see cref="Pdb"/> that contains source line numbers 56 /// <param name="pdb">The <see cref="Intermediate"/> that contains source line numbers
56 /// for the database and all rows.</param> 57 /// for the database and all rows.</param>
57 void InspectDatabase(string filePath, Intermediate pdb); 58 void InspectDatabase(string filePath, Intermediate pdb);
58 } 59 }
diff --git a/src/WixToolset.Extensibility/ILayoutExtension.cs b/src/WixToolset.Extensibility/ILayoutExtension.cs
index 7bcee0a8..ecd7d8f1 100644
--- a/src/WixToolset.Extensibility/ILayoutExtension.cs
+++ b/src/WixToolset.Extensibility/ILayoutExtension.cs
@@ -14,9 +14,11 @@ namespace WixToolset.Extensibility
14 /// </summary> 14 /// </summary>
15 void PreLayout(ILayoutContext context); 15 void PreLayout(ILayoutContext context);
16 16
17#pragma warning disable 1591 // TODO: add documentation
17 bool CopyFile(string source, string destination); 18 bool CopyFile(string source, string destination);
18 19
19 bool MoveFile(string source, string destination); 20 bool MoveFile(string source, string destination);
21#pragma warning restore 1591
20 22
21 /// <summary> 23 /// <summary>
22 /// Called after all layout occurs. 24 /// Called after all layout occurs.
diff --git a/src/WixToolset.Extensibility/ILibrarianExtension.cs b/src/WixToolset.Extensibility/ILibrarianExtension.cs
index e52c71c9..d9b04cd2 100644
--- a/src/WixToolset.Extensibility/ILibrarianExtension.cs
+++ b/src/WixToolset.Extensibility/ILibrarianExtension.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Extensibility.Data; 6 using WixToolset.Extensibility.Data;
7 7
8#pragma warning disable 1591 // TODO: add documentation
8 public interface ILibrarianExtension 9 public interface ILibrarianExtension
9 { 10 {
10 void PreCombine(ILibraryContext context); 11 void PreCombine(ILibraryContext context);
diff --git a/src/WixToolset.Extensibility/IMessageListener.cs b/src/WixToolset.Extensibility/IMessageListener.cs
index d5baa24f..ea103538 100644
--- a/src/WixToolset.Extensibility/IMessageListener.cs
+++ b/src/WixToolset.Extensibility/IMessageListener.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Extensibility.Services; 6 using WixToolset.Extensibility.Services;
7 7
8#pragma warning disable 1591 // TODO: add documentation
8 public interface IMessageListener 9 public interface IMessageListener
9 { 10 {
10 MessageLevel CalculateMessageLevel(IMessaging messaging, Message message, MessageLevel defaultMessageLevel); 11 MessageLevel CalculateMessageLevel(IMessaging messaging, Message message, MessageLevel defaultMessageLevel);
diff --git a/src/WixToolset.Extensibility/IPreprocessorExtension.cs b/src/WixToolset.Extensibility/IPreprocessorExtension.cs
index 94eb7d78..919ff1ae 100644
--- a/src/WixToolset.Extensibility/IPreprocessorExtension.cs
+++ b/src/WixToolset.Extensibility/IPreprocessorExtension.cs
@@ -41,7 +41,6 @@ namespace WixToolset.Extensibility
41 /// <summary> 41 /// <summary>
42 /// Processes a pragma defined in the extension. 42 /// Processes a pragma defined in the extension.
43 /// </summary> 43 /// </summary>
44 /// <param name="sourceLineNumbers">The location of this pragma's PI.</param>
45 /// <param name="prefix">The prefix of the pragma to be processed by the extension.</param> 44 /// <param name="prefix">The prefix of the pragma to be processed by the extension.</param>
46 /// <param name="pragma">The name of the pragma.</param> 45 /// <param name="pragma">The name of the pragma.</param>
47 /// <param name="args">The pragma's arguments.</param> 46 /// <param name="args">The pragma's arguments.</param>
diff --git a/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs b/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs
index fc769da9..f257f1ec 100644
--- a/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs
+++ b/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs
@@ -13,18 +13,22 @@ namespace WixToolset.Extensibility
13 /// </summary> 13 /// </summary>
14 public interface IWindowsInstallerBackendBinderExtension 14 public interface IWindowsInstallerBackendBinderExtension
15 { 15 {
16#pragma warning disable 1591 // TODO: add documentation
16 IEnumerable<TableDefinition> TableDefinitions { get; } 17 IEnumerable<TableDefinition> TableDefinitions { get; }
18#pragma warning restore 1591
17 19
18 /// <summary> 20 /// <summary>
19 /// Called before binding occurs. 21 /// Called before binding occurs.
20 /// </summary> 22 /// </summary>
21 void PreBackendBind(IBindContext context); 23 void PreBackendBind(IBindContext context);
22 24
25#pragma warning disable 1591 // TODO: add documentation
23 IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files); 26 IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files);
24 27
25 string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory); 28 string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory);
26 29
27 bool TryAddSymbolToOutput(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions); 30 bool TryAddSymbolToOutput(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions);
31#pragma warning restore 1591
28 32
29 /// <summary> 33 /// <summary>
30 /// Called after all output changes occur and right before the output is bound into its final format. 34 /// Called after all output changes occur and right before the output is bound into its final format.
diff --git a/src/WixToolset.Extensibility/Services/IBackendHelper.cs b/src/WixToolset.Extensibility/Services/IBackendHelper.cs
index bfec5256..0c8578b2 100644
--- a/src/WixToolset.Extensibility/Services/IBackendHelper.cs
+++ b/src/WixToolset.Extensibility/Services/IBackendHelper.cs
@@ -17,6 +17,7 @@ namespace WixToolset.Extensibility.Services
17 /// <param name="source">Source for the file transfer.</param> 17 /// <param name="source">Source for the file transfer.</param>
18 /// <param name="destination">Destination for the file transfer.</param> 18 /// <param name="destination">Destination for the file transfer.</param>
19 /// <param name="move">Indicates whether to move or copy the source file.</param> 19 /// <param name="move">Indicates whether to move or copy the source file.</param>
20 /// <param name="sourceLineNumbers">Optional source line numbers that requested the file transfer.</param>
20 IFileTransfer CreateFileTransfer(string source, string destination, bool move, SourceLineNumber sourceLineNumbers = null); 21 IFileTransfer CreateFileTransfer(string source, string destination, bool move, SourceLineNumber sourceLineNumbers = null);
21 22
22 /// <summary> 23 /// <summary>
diff --git a/src/WixToolset.Extensibility/Services/ICommandLineParser.cs b/src/WixToolset.Extensibility/Services/ICommandLineParser.cs
index f7e2a28f..f538e0b7 100644
--- a/src/WixToolset.Extensibility/Services/ICommandLineParser.cs
+++ b/src/WixToolset.Extensibility/Services/ICommandLineParser.cs
@@ -4,6 +4,7 @@ namespace WixToolset.Extensibility.Services
4{ 4{
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 6
7#pragma warning disable 1591 // TODO: add documentation
7 public interface ICommandLineParser 8 public interface ICommandLineParser
8 { 9 {
9 string ErrorArgument { get; set; } 10 string ErrorArgument { get; set; }
diff --git a/src/WixToolset.Extensibility/Services/IParseHelper.cs b/src/WixToolset.Extensibility/Services/IParseHelper.cs
index 08bcd911..93144629 100644
--- a/src/WixToolset.Extensibility/Services/IParseHelper.cs
+++ b/src/WixToolset.Extensibility/Services/IParseHelper.cs
@@ -68,15 +68,6 @@ namespace WixToolset.Extensibility.Services
68 /// <returns>New symbol.</returns> 68 /// <returns>New symbol.</returns>
69 IntermediateSymbol CreateSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, IntermediateSymbolDefinition symbolDefinition, Identifier identifier = null); 69 IntermediateSymbol CreateSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, IntermediateSymbolDefinition symbolDefinition, Identifier identifier = null);
70 70
71 [Obsolete]
72 IntermediateSymbol CreateRow(IntermediateSection section, SourceLineNumber sourceLineNumbers, string tableName, Identifier identifier = null);
73
74 [Obsolete]
75 IntermediateSymbol CreateSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, SymbolDefinitionType symbolType, Identifier identifier = null);
76
77 [Obsolete]
78 IntermediateSymbol CreateRow(IntermediateSection section, SourceLineNumber sourceLineNumbers, SymbolDefinitionType symbolType, Identifier identifier = null);
79
80 /// <summary> 71 /// <summary>
81 /// Creates a directory row from a name. 72 /// Creates a directory row from a name.
82 /// </summary> 73 /// </summary>
@@ -106,6 +97,7 @@ namespace WixToolset.Extensibility.Services
106 /// <summary> 97 /// <summary>
107 /// Creates a Registry symbol in the active section. 98 /// Creates a Registry symbol in the active section.
108 /// </summary> 99 /// </summary>
100 /// <param name="section">Active section.</param>
109 /// <param name="sourceLineNumbers">Source and line number of the current symbol.</param> 101 /// <param name="sourceLineNumbers">Source and line number of the current symbol.</param>
110 /// <param name="root">The registry entry root.</param> 102 /// <param name="root">The registry entry root.</param>
111 /// <param name="key">The registry entry key.</param> 103 /// <param name="key">The registry entry key.</param>
@@ -115,9 +107,6 @@ namespace WixToolset.Extensibility.Services
115 /// <param name="escapeLeadingHash">If true, "escape" leading '#' characters so the value is written as a REG_SZ.</param> 107 /// <param name="escapeLeadingHash">If true, "escape" leading '#' characters so the value is written as a REG_SZ.</param>
116 Identifier CreateRegistrySymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, RegistryRootType root, string key, string name, string value, string componentId, bool escapeLeadingHash); 108 Identifier CreateRegistrySymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, RegistryRootType root, string key, string name, string value, string componentId, bool escapeLeadingHash);
117 109
118 [Obsolete]
119 Identifier CreateRegistryRow(IntermediateSection section, SourceLineNumber sourceLineNumbers, RegistryRootType root, string key, string name, string value, string componentId, bool escapeLeadingHash);
120
121 /// <summary> 110 /// <summary>
122 /// Creates a short file/directory name using an identifier and long file/directory name as input. 111 /// Creates a short file/directory name using an identifier and long file/directory name as input.
123 /// </summary> 112 /// </summary>
@@ -131,6 +120,7 @@ namespace WixToolset.Extensibility.Services
131 /// <summary> 120 /// <summary>
132 /// Create a WixSimpleReference symbol in the active section. 121 /// Create a WixSimpleReference symbol in the active section.
133 /// </summary> 122 /// </summary>
123 /// <param name="section">Active section.</param>
134 /// <param name="sourceLineNumbers">Source line information for the row.</param> 124 /// <param name="sourceLineNumbers">Source line information for the row.</param>
135 /// <param name="symbolName">The symbol name of the simple reference.</param> 125 /// <param name="symbolName">The symbol name of the simple reference.</param>
136 /// <param name="primaryKey">The primary key of the simple reference.</param> 126 /// <param name="primaryKey">The primary key of the simple reference.</param>
@@ -139,6 +129,7 @@ namespace WixToolset.Extensibility.Services
139 /// <summary> 129 /// <summary>
140 /// Create a WixSimpleReference symbol in the active section. 130 /// Create a WixSimpleReference symbol in the active section.
141 /// </summary> 131 /// </summary>
132 /// <param name="section">Active section.</param>
142 /// <param name="sourceLineNumbers">Source line information for the row.</param> 133 /// <param name="sourceLineNumbers">Source line information for the row.</param>
143 /// <param name="symbolName">The symbol name of the simple reference.</param> 134 /// <param name="symbolName">The symbol name of the simple reference.</param>
144 /// <param name="primaryKeys">The primary keys of the simple reference.</param> 135 /// <param name="primaryKeys">The primary keys of the simple reference.</param>
@@ -147,6 +138,7 @@ namespace WixToolset.Extensibility.Services
147 /// <summary> 138 /// <summary>
148 /// Create a WixSimpleReference symbol in the active section. 139 /// Create a WixSimpleReference symbol in the active section.
149 /// </summary> 140 /// </summary>
141 /// <param name="section">Active section.</param>
150 /// <param name="sourceLineNumbers">Source line information for the row.</param> 142 /// <param name="sourceLineNumbers">Source line information for the row.</param>
151 /// <param name="symbolDefinition">The symbol definition of the simple reference.</param> 143 /// <param name="symbolDefinition">The symbol definition of the simple reference.</param>
152 /// <param name="primaryKey">The primary key of the simple reference.</param> 144 /// <param name="primaryKey">The primary key of the simple reference.</param>
@@ -155,6 +147,7 @@ namespace WixToolset.Extensibility.Services
155 /// <summary> 147 /// <summary>
156 /// Create a WixSimpleReference symbol in the active section. 148 /// Create a WixSimpleReference symbol in the active section.
157 /// </summary> 149 /// </summary>
150 /// <param name="section">Active section.</param>
158 /// <param name="sourceLineNumbers">Source line information for the row.</param> 151 /// <param name="sourceLineNumbers">Source line information for the row.</param>
159 /// <param name="symbolDefinition">The symbol definition of the simple reference.</param> 152 /// <param name="symbolDefinition">The symbol definition of the simple reference.</param>
160 /// <param name="primaryKeys">The primary keys of the simple reference.</param> 153 /// <param name="primaryKeys">The primary keys of the simple reference.</param>
@@ -167,7 +160,7 @@ namespace WixToolset.Extensibility.Services
167 /// <param name="sourceLineNumbers">Source line information.</param> 160 /// <param name="sourceLineNumbers">Source line information.</param>
168 /// <param name="section">Section to create the reference in.</param> 161 /// <param name="section">Section to create the reference in.</param>
169 /// <param name="customAction">The custom action base name.</param> 162 /// <param name="customAction">The custom action base name.</param>
170 /// <param name="currentPlatform">The platform being compiled.</param> 163 /// <param name="platform">The platform being compiled.</param>
171 /// <param name="supportedPlatforms">The platforms for which there are specialized custom actions.</param> 164 /// <param name="supportedPlatforms">The platforms for which there are specialized custom actions.</param>
172 void CreateCustomActionReference(SourceLineNumber sourceLineNumbers, IntermediateSection section, string customAction, Platform platform, CustomActionPlatforms supportedPlatforms); 165 void CreateCustomActionReference(SourceLineNumber sourceLineNumbers, IntermediateSection section, string customAction, Platform platform, CustomActionPlatforms supportedPlatforms);
173 166
@@ -195,9 +188,6 @@ namespace WixToolset.Extensibility.Services
195 /// <param name="childId">Id of the Child Node.</param> 188 /// <param name="childId">Id of the Child Node.</param>
196 void CreateWixGroupSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, ComplexReferenceParentType parentType, string parentId, ComplexReferenceChildType childType, string childId); 189 void CreateWixGroupSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, ComplexReferenceParentType parentType, string parentId, ComplexReferenceChildType childType, string childId);
197 190
198 [Obsolete]
199 void CreateWixGroupRow(IntermediateSection section, SourceLineNumber sourceLineNumbers, ComplexReferenceParentType parentType, string parentId, ComplexReferenceChildType childType, string childId);
200
201 /// <summary> 191 /// <summary>
202 /// Creates a symbol in the WixSearch table. 192 /// Creates a symbol in the WixSearch table.
203 /// </summary> 193 /// </summary>
@@ -231,6 +221,7 @@ namespace WixToolset.Extensibility.Services
231 /// <summary> 221 /// <summary>
232 /// Add the appropriate symbols to make sure that the given table shows up in the resulting output. 222 /// Add the appropriate symbols to make sure that the given table shows up in the resulting output.
233 /// </summary> 223 /// </summary>
224 /// <param name="section">Active section.</param>
234 /// <param name="sourceLineNumbers">Source line numbers.</param> 225 /// <param name="sourceLineNumbers">Source line numbers.</param>
235 /// <param name="tableName">Name of the table to ensure existance of.</param> 226 /// <param name="tableName">Name of the table to ensure existance of.</param>
236 void EnsureTable(IntermediateSection section, SourceLineNumber sourceLineNumbers, string tableName); 227 void EnsureTable(IntermediateSection section, SourceLineNumber sourceLineNumbers, string tableName);
@@ -238,6 +229,7 @@ namespace WixToolset.Extensibility.Services
238 /// <summary> 229 /// <summary>
239 /// Add the appropriate symbols to make sure that the given table shows up in the resulting output. 230 /// Add the appropriate symbols to make sure that the given table shows up in the resulting output.
240 /// </summary> 231 /// </summary>
232 /// <param name="section">Active section.</param>
241 /// <param name="sourceLineNumbers">Source line numbers.</param> 233 /// <param name="sourceLineNumbers">Source line numbers.</param>
242 /// <param name="tableDefinition">Definition of the table to ensure existance of.</param> 234 /// <param name="tableDefinition">Definition of the table to ensure existance of.</param>
243 void EnsureTable(IntermediateSection section, SourceLineNumber sourceLineNumbers, TableDefinition tableDefinition); 235 void EnsureTable(IntermediateSection section, SourceLineNumber sourceLineNumbers, TableDefinition tableDefinition);
@@ -408,6 +400,9 @@ namespace WixToolset.Extensibility.Services
408 /// <summary> 400 /// <summary>
409 /// Attempts to use an extension to parse the attribute. 401 /// Attempts to use an extension to parse the attribute.
410 /// </summary> 402 /// </summary>
403 /// <param name="extensions"></param>
404 /// <param name="intermediate">Parent intermediate.</param>
405 /// <param name="section">Parent section.</param>
411 /// <param name="element">Element containing attribute to be parsed.</param> 406 /// <param name="element">Element containing attribute to be parsed.</param>
412 /// <param name="attribute">Attribute to be parsed.</param> 407 /// <param name="attribute">Attribute to be parsed.</param>
413 /// <param name="context">Extra information about the context in which this element is being parsed.</param> 408 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
@@ -416,22 +411,31 @@ namespace WixToolset.Extensibility.Services
416 /// <summary> 411 /// <summary>
417 /// Attempts to use an extension to parse the element. 412 /// Attempts to use an extension to parse the element.
418 /// </summary> 413 /// </summary>
414 /// <param name="extensions"></param>
415 /// <param name="intermediate">Parent intermediate.</param>
416 /// <param name="section">Parent section.</param>
419 /// <param name="parentElement">Element containing element to be parsed.</param> 417 /// <param name="parentElement">Element containing element to be parsed.</param>
420 /// <param name="element">Element to be parsed.</param> 418 /// <param name="element">Element to be parsed.</param>
421 /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param> 419 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
422 void ParseExtensionElement(IEnumerable<ICompilerExtension> extensions, Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context = null); 420 void ParseExtensionElement(IEnumerable<ICompilerExtension> extensions, Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context = null);
423 421
424 /// <summary> 422 /// <summary>
425 /// Attempts to use an extension to parse the element, with support for setting component keypath. 423 /// Attempts to use an extension to parse the element, with support for setting component keypath.
426 /// </summary> 424 /// </summary>
425 /// <param name="extensions"></param>
426 /// <param name="intermediate">Parent intermediate.</param>
427 /// <param name="section">Parent section.</param>
427 /// <param name="parentElement">Element containing element to be parsed.</param> 428 /// <param name="parentElement">Element containing element to be parsed.</param>
428 /// <param name="element">Element to be parsed.</param> 429 /// <param name="element">Element to be parsed.</param>
429 /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param> 430 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
430 IComponentKeyPath ParsePossibleKeyPathExtensionElement(IEnumerable<ICompilerExtension> extensions, Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context); 431 IComponentKeyPath ParsePossibleKeyPathExtensionElement(IEnumerable<ICompilerExtension> extensions, Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context);
431 432
432 /// <summary> 433 /// <summary>
433 /// Process all children of the element looking for extensions and erroring on the unexpected. 434 /// Process all children of the element looking for extensions and erroring on the unexpected.
434 /// </summary> 435 /// </summary>
436 /// <param name="extensions"></param>
437 /// <param name="intermediate">Parent intermediate.</param>
438 /// <param name="section">Parent section.</param>
435 /// <param name="element">Element to parse children.</param> 439 /// <param name="element">Element to parse children.</param>
436 void ParseForExtensionElements(IEnumerable<ICompilerExtension> extensions, Intermediate intermediate, IntermediateSection section, XElement element); 440 void ParseForExtensionElements(IEnumerable<ICompilerExtension> extensions, Intermediate intermediate, IntermediateSection section, XElement element);
437 441
@@ -452,7 +456,7 @@ namespace WixToolset.Extensibility.Services
452 /// <summary> 456 /// <summary>
453 /// Called when the compiler encounters an unexpected attribute. 457 /// Called when the compiler encounters an unexpected attribute.
454 /// </summary> 458 /// </summary>
455 /// <param name="parentElement">Parent element that found unexpected attribute.</param> 459 /// <param name="element">Parent element that found unexpected attribute.</param>
456 /// <param name="attribute">Unexpected attribute.</param> 460 /// <param name="attribute">Unexpected attribute.</param>
457 void UnexpectedAttribute(XElement element, XAttribute attribute); 461 void UnexpectedAttribute(XElement element, XAttribute attribute);
458 462
diff --git a/src/WixToolset.Extensibility/Services/IPathResolver.cs b/src/WixToolset.Extensibility/Services/IPathResolver.cs
index 5713d2d7..5be0c4d3 100644
--- a/src/WixToolset.Extensibility/Services/IPathResolver.cs
+++ b/src/WixToolset.Extensibility/Services/IPathResolver.cs
@@ -6,7 +6,9 @@ namespace WixToolset.Extensibility.Services
6 using WixToolset.Data; 6 using WixToolset.Data;
7 using WixToolset.Extensibility.Data; 7 using WixToolset.Extensibility.Data;
8 8
9#pragma warning disable 1591 // TODO: add documentation
9 public interface IPathResolver 10 public interface IPathResolver
11#pragma warning restore 1591
10 { 12 {
11 /// <summary> 13 /// <summary>
12 /// Get the canonical source path of a directory. 14 /// Get the canonical source path of a directory.
@@ -14,6 +16,7 @@ namespace WixToolset.Extensibility.Services
14 /// <param name="directories">All cached directories.</param> 16 /// <param name="directories">All cached directories.</param>
15 /// <param name="componentIdGenSeeds">Hash table of Component GUID generation seeds indexed by directory id.</param> 17 /// <param name="componentIdGenSeeds">Hash table of Component GUID generation seeds indexed by directory id.</param>
16 /// <param name="directory">Directory identifier.</param> 18 /// <param name="directory">Directory identifier.</param>
19 /// <param name="platform">Current platform.</param>
17 /// <returns>Source path of a directory.</returns> 20 /// <returns>Source path of a directory.</returns>
18 string GetCanonicalDirectoryPath(Dictionary<string, IResolvedDirectory> directories, Dictionary<string, string> componentIdGenSeeds, string directory, Platform platform); 21 string GetCanonicalDirectoryPath(Dictionary<string, IResolvedDirectory> directories, Dictionary<string, string> componentIdGenSeeds, string directory, Platform platform);
19 22
@@ -28,7 +31,7 @@ namespace WixToolset.Extensibility.Services
28 /// <summary> 31 /// <summary>
29 /// Gets the source path of a file. 32 /// Gets the source path of a file.
30 /// </summary> 33 /// </summary>
31 /// <param name="directories">All cached directories in <see cref="ResolvedDirectory"/>.</param> 34 /// <param name="directories">All cached directories in <see cref="IResolvedDirectory"/>.</param>
32 /// <param name="directoryId">Parent directory identifier.</param> 35 /// <param name="directoryId">Parent directory identifier.</param>
33 /// <param name="fileName">File name (in long|source format).</param> 36 /// <param name="fileName">File name (in long|source format).</param>
34 /// <param name="compressed">Specifies the package is compressed.</param> 37 /// <param name="compressed">Specifies the package is compressed.</param>
diff --git a/src/WixToolset.Extensibility/Services/IPreprocessHelper.cs b/src/WixToolset.Extensibility/Services/IPreprocessHelper.cs
index d55383db..f7973ac2 100644
--- a/src/WixToolset.Extensibility/Services/IPreprocessHelper.cs
+++ b/src/WixToolset.Extensibility/Services/IPreprocessHelper.cs
@@ -24,7 +24,7 @@ namespace WixToolset.Extensibility.Services
24 /// <param name="context">The preprocess context.</param> 24 /// <param name="context">The preprocess context.</param>
25 /// <param name="name">The variable name.</param> 25 /// <param name="name">The variable name.</param>
26 /// <param name="value">The variable value.</param> 26 /// <param name="value">The variable value.</param>
27 /// <param name="overwrite">Set to true to show variable overwrite warning.</param> 27 /// <param name="showWarning">Set to true to show variable overwrite warning.</param>
28 void AddVariable(IPreprocessContext context, string name, string value, bool showWarning); 28 void AddVariable(IPreprocessContext context, string name, string value, bool showWarning);
29 29
30 /// <summary> 30 /// <summary>
@@ -67,7 +67,7 @@ namespace WixToolset.Extensibility.Services
67 /// Evaluate a Pragma. 67 /// Evaluate a Pragma.
68 /// </summary> 68 /// </summary>
69 /// <param name="context">The preprocess context.</param> 69 /// <param name="context">The preprocess context.</param>
70 /// <param name="pragmaName">The pragma's full name (<prefix>.<pragma>).</param> 70 /// <param name="pragmaName">The pragma's full name (&lt;prefix&gt;.&lt;pragma&gt;).</param>
71 /// <param name="args">The arguments to the pragma.</param> 71 /// <param name="args">The arguments to the pragma.</param>
72 /// <param name="parent">The parent element of the pragma.</param> 72 /// <param name="parent">The parent element of the pragma.</param>
73 void PreprocessPragma(IPreprocessContext context, string pragmaName, string args, XContainer parent); 73 void PreprocessPragma(IPreprocessContext context, string pragmaName, string args, XContainer parent);
diff --git a/src/WixToolset.Extensibility/Services/IVariableResolution.cs b/src/WixToolset.Extensibility/Services/IVariableResolution.cs
index efed0b1f..82bacb31 100644
--- a/src/WixToolset.Extensibility/Services/IVariableResolution.cs
+++ b/src/WixToolset.Extensibility/Services/IVariableResolution.cs
@@ -2,6 +2,7 @@
2 2
3namespace WixToolset.Extensibility.Services 3namespace WixToolset.Extensibility.Services
4{ 4{
5#pragma warning disable 1591 // TODO: add documentation
5 public interface IVariableResolution 6 public interface IVariableResolution
6 { 7 {
7 bool DelayedResolve { get; set; } 8 bool DelayedResolve { get; set; }
diff --git a/src/WixToolset.Extensibility/Services/IVariableResolver.cs b/src/WixToolset.Extensibility/Services/IVariableResolver.cs
index a108e146..285f1fd1 100644
--- a/src/WixToolset.Extensibility/Services/IVariableResolver.cs
+++ b/src/WixToolset.Extensibility/Services/IVariableResolver.cs
@@ -4,13 +4,16 @@ namespace WixToolset.Extensibility.Services
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 6
7#pragma warning disable 1591 // TODO: add documentation
7 public interface IVariableResolver 8 public interface IVariableResolver
8 { 9 {
9 void AddLocalization(Localization localization); 10 void AddLocalization(Localization localization);
11#pragma warning restore 1591
10 12
11 /// <summary> 13 /// <summary>
12 /// Add a variable. 14 /// Add a variable.
13 /// </summary> 15 /// </summary>
16 /// <param name="sourceLineNumber">The source line information for the value.</param>
14 /// <param name="name">The name of the variable.</param> 17 /// <param name="name">The name of the variable.</param>
15 /// <param name="value">The value of the variable.</param> 18 /// <param name="value">The value of the variable.</param>
16 /// <param name="overridable">Indicates whether the variable can be overridden by an existing variable.</param> 19 /// <param name="overridable">Indicates whether the variable can be overridden by an existing variable.</param>
diff --git a/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs b/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs
index 008db83e..ca53ab4a 100644
--- a/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs
+++ b/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs
@@ -10,7 +10,26 @@ namespace WixToolset.Extensibility.Services
10 /// </summary> 10 /// </summary>
11 public interface IWindowsInstallerBackendHelper 11 public interface IWindowsInstallerBackendHelper
12 { 12 {
13 /// <summary>
14 /// Creates a <see cref="Row"/> in the specified table.
15 /// </summary>
16 /// <param name="section">Parent section.</param>
17 /// <param name="symbol">Symbol with line information for the row.</param>
18 /// <param name="output">Current context.</param>
19 /// <param name="tableDefinition">Table definition for the row.</param>
20 /// <returns></returns>
13 Row CreateRow(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinition tableDefinition); 21 Row CreateRow(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinition tableDefinition);
22
23 /// <summary>
24 /// Looks up the registered <see cref="TableDefinition"/> for the given <see cref="IntermediateSymbol"/> and creates a <see cref="Row"/> in that table.
25 /// Goes sequentially through each field in the symbol and assigns the value to the column with the same index as the field.
26 /// If the symbol's Id is registered as the primary key then that is used for the first column and the column data is offset by 1.
27 /// </summary>
28 /// <param name="section">Parent section.</param>
29 /// <param name="symbol">Symbol to create the row from.</param>
30 /// <param name="output">Current context.</param>
31 /// <param name="tableDefinitions">Table definitions that have been registered with the binder.</param>
32 /// <returns>True if a row was created.</returns>
14 bool TryAddSymbolToOutputMatchingTableDefinitions(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions); 33 bool TryAddSymbolToOutputMatchingTableDefinitions(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions);
15 } 34 }
16} 35}
diff --git a/src/WixToolset.Extensibility/Services/IWixtoolsetCoreServiceProvider.cs b/src/WixToolset.Extensibility/Services/IWixtoolsetCoreServiceProvider.cs
index 3c80ddef..2d0450dc 100644
--- a/src/WixToolset.Extensibility/Services/IWixtoolsetCoreServiceProvider.cs
+++ b/src/WixToolset.Extensibility/Services/IWixtoolsetCoreServiceProvider.cs
@@ -24,7 +24,6 @@ namespace WixToolset.Extensibility.Services
24 /// <summary> 24 /// <summary>
25 /// Adds a service to the service locator. 25 /// Adds a service to the service locator.
26 /// </summary> 26 /// </summary>
27 /// <param name="serviceType">Type of the service to add.</param>
28 /// <param name="creationFunction"> 27 /// <param name="creationFunction">
29 /// A function that creates the service. The create function is provided the service provider 28 /// A function that creates the service. The create function is provided the service provider
30 /// itself to resolve additional services and a type dictionary that stores singleton services 29 /// itself to resolve additional services and a type dictionary that stores singleton services
diff --git a/src/WixToolset.Extensibility/WixToolset.Extensibility.csproj b/src/WixToolset.Extensibility/WixToolset.Extensibility.csproj
index 9fa4f12e..8b18c0ed 100644
--- a/src/WixToolset.Extensibility/WixToolset.Extensibility.csproj
+++ b/src/WixToolset.Extensibility/WixToolset.Extensibility.csproj
@@ -9,6 +9,7 @@
9 <Description></Description> 9 <Description></Description>
10 <DebugType>embedded</DebugType> 10 <DebugType>embedded</DebugType>
11 <PublishRepositoryUrl>true</PublishRepositoryUrl> 11 <PublishRepositoryUrl>true</PublishRepositoryUrl>
12 <CreateDocumentationFile>true</CreateDocumentationFile>
12 </PropertyGroup> 13 </PropertyGroup>
13 14
14 <ItemGroup> 15 <ItemGroup>