diff options
Diffstat (limited to '')
-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> |