diff options
Diffstat (limited to 'src/WixToolset.Core/Linker.cs')
| -rw-r--r-- | src/WixToolset.Core/Linker.cs | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/src/WixToolset.Core/Linker.cs b/src/WixToolset.Core/Linker.cs index bf7130db..47671f26 100644 --- a/src/WixToolset.Core/Linker.cs +++ b/src/WixToolset.Core/Linker.cs | |||
| @@ -312,7 +312,11 @@ namespace WixToolset.Core | |||
| 312 | } | 312 | } |
| 313 | 313 | ||
| 314 | // Bundles have groups of data that must be flattened in a way different from other types. | 314 | // Bundles have groups of data that must be flattened in a way different from other types. |
| 315 | this.FlattenBundleTables(resolvedSection); | 315 | if (resolvedSection.Type == SectionType.Bundle) |
| 316 | { | ||
| 317 | var command = new FlattenAndProcessBundleTablesCommand(resolvedSection, this.Messaging); | ||
| 318 | command.Execute(); | ||
| 319 | } | ||
| 316 | 320 | ||
| 317 | if (this.Messaging.EncounteredError) | 321 | if (this.Messaging.EncounteredError) |
| 318 | { | 322 | { |
| @@ -854,37 +858,6 @@ namespace WixToolset.Core | |||
| 854 | */ | 858 | */ |
| 855 | 859 | ||
| 856 | /// <summary> | 860 | /// <summary> |
| 857 | /// Flattens the tables used in a Bundle. | ||
| 858 | /// </summary> | ||
| 859 | /// <param name="entrySection">Output containing the tables to process.</param> | ||
| 860 | private void FlattenBundleTables(IntermediateSection entrySection) | ||
| 861 | { | ||
| 862 | if (SectionType.Bundle != entrySection.Type) | ||
| 863 | { | ||
| 864 | return; | ||
| 865 | } | ||
| 866 | |||
| 867 | // We need to flatten the nested PayloadGroups and PackageGroups under | ||
| 868 | // UX, Chain, and any Containers. When we're done, the WixGroups table | ||
| 869 | // will hold Payloads under UX, ChainPackages (references?) under Chain, | ||
| 870 | // and ChainPackages/Payloads under the attached and any detatched | ||
| 871 | // Containers. | ||
| 872 | var groups = new WixGroupingOrdering(entrySection, this.Messaging); | ||
| 873 | |||
| 874 | // Create UX payloads and Package payloads | ||
| 875 | groups.UseTypes(new[] { ComplexReferenceParentType.Container, ComplexReferenceParentType.Layout, ComplexReferenceParentType.PackageGroup, ComplexReferenceParentType.PayloadGroup, ComplexReferenceParentType.Package }, new[] { ComplexReferenceChildType.PackageGroup, ComplexReferenceChildType.Package, ComplexReferenceChildType.PackagePayload, ComplexReferenceChildType.PayloadGroup, ComplexReferenceChildType.Payload }); | ||
| 876 | groups.FlattenAndRewriteGroups(ComplexReferenceParentType.Package, false); | ||
| 877 | groups.FlattenAndRewriteGroups(ComplexReferenceParentType.Container, false); | ||
| 878 | groups.FlattenAndRewriteGroups(ComplexReferenceParentType.Layout, false); | ||
| 879 | |||
| 880 | // Create Chain packages... | ||
| 881 | groups.UseTypes(new[] { ComplexReferenceParentType.PackageGroup }, new[] { ComplexReferenceChildType.Package, ComplexReferenceChildType.PackageGroup }); | ||
| 882 | groups.FlattenAndRewriteRows(ComplexReferenceChildType.PackageGroup, "WixChain", false); | ||
| 883 | |||
| 884 | groups.RemoveUsedGroupRows(); | ||
| 885 | } | ||
| 886 | |||
| 887 | /// <summary> | ||
| 888 | /// Resolves the features connected to other features in the active output. | 861 | /// Resolves the features connected to other features in the active output. |
| 889 | /// </summary> | 862 | /// </summary> |
| 890 | /// <param name="featuresToFeatures">Feature to feature complex references.</param> | 863 | /// <param name="featuresToFeatures">Feature to feature complex references.</param> |
