aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2017-12-12 12:08:51 -0800
committerRob Mensching <rob@firegiant.com>2017-12-12 12:08:51 -0800
commit6f1665ed759b31bd095f186f9239232c653597cd (patch)
treed7ee0b9b903d18c0cfa754f4609ca9ffb1aabb19 /src
parent6e9c25cb45cb59b4790ec3c32ee40d2077da521c (diff)
downloadwix-6f1665ed759b31bd095f186f9239232c653597cd.tar.gz
wix-6f1665ed759b31bd095f186f9239232c653597cd.tar.bz2
wix-6f1665ed759b31bd095f186f9239232c653597cd.zip
Fix handling of WixAction scheduling
Diffstat (limited to 'src')
-rw-r--r--src/WixToolset.Core/Compiler.cs2
-rw-r--r--src/WixToolset.Core/Linker.cs20
2 files changed, 11 insertions, 11 deletions
diff --git a/src/WixToolset.Core/Compiler.cs b/src/WixToolset.Core/Compiler.cs
index ac3f3fe1..78461b44 100644
--- a/src/WixToolset.Core/Compiler.cs
+++ b/src/WixToolset.Core/Compiler.cs
@@ -13462,7 +13462,7 @@ namespace WixToolset.Core
13462 } 13462 }
13463 else 13463 else
13464 { 13464 {
13465 var row = this.Core.CreateRow(childSourceLineNumbers, TupleDefinitionType.WixAction); 13465 var row = this.Core.CreateRow(childSourceLineNumbers, TupleDefinitionType.WixAction, new Identifier($"{sequenceTable}/{actionName}", AccessModifier.Public));
13466 row.Set(0, sequenceTable); 13466 row.Set(0, sequenceTable);
13467 row.Set(1, actionName); 13467 row.Set(1, actionName);
13468 row.Set(2, condition); 13468 row.Set(2, condition);
diff --git a/src/WixToolset.Core/Linker.cs b/src/WixToolset.Core/Linker.cs
index c893a01d..ccf6f329 100644
--- a/src/WixToolset.Core/Linker.cs
+++ b/src/WixToolset.Core/Linker.cs
@@ -139,16 +139,12 @@ namespace WixToolset.Core
139 throw new WixException(WixErrors.MissingEntrySection(this.Context.ExpectedOutputType.ToString())); 139 throw new WixException(WixErrors.MissingEntrySection(this.Context.ExpectedOutputType.ToString()));
140 } 140 }
141 141
142 // Now that we know where we're starting from, create the section to hold the linked content.
143 var resolvedSection = new IntermediateSection(find.EntrySection.Id, find.EntrySection.Type, find.EntrySection.Codepage);
144 var allSymbols = find.Symbols;
145
146 // Add the missing standard action symbols. 142 // Add the missing standard action symbols.
147 this.LoadStandardActionSymbols(resolvedSection, allSymbols); 143 this.LoadStandardActionSymbols(find.EntrySection, find.Symbols);
148 144
149 // Resolve the symbol references to find the set of sections we care about for linking. 145 // Resolve the symbol references to find the set of sections we care about for linking.
150 // Of course, we start with the entry section (that's how it got its name after all). 146 // Of course, we start with the entry section (that's how it got its name after all).
151 var resolve = new ResolveReferencesCommand(find.EntrySection, allSymbols); 147 var resolve = new ResolveReferencesCommand(find.EntrySection, find.Symbols);
152 resolve.BuildingMergeModule = (SectionType.Module == find.EntrySection.Type); 148 resolve.BuildingMergeModule = (SectionType.Module == find.EntrySection.Type);
153 149
154 resolve.Execute(); 150 resolve.Execute();
@@ -174,7 +170,7 @@ namespace WixToolset.Core
174 var componentsToFeatures = new ConnectToFeatureCollection(); 170 var componentsToFeatures = new ConnectToFeatureCollection();
175 var featuresToFeatures = new ConnectToFeatureCollection(); 171 var featuresToFeatures = new ConnectToFeatureCollection();
176 var modulesToFeatures = new ConnectToFeatureCollection(); 172 var modulesToFeatures = new ConnectToFeatureCollection();
177 this.ProcessComplexReferences(resolvedSection, sections, referencedComponents, componentsToFeatures, featuresToFeatures, modulesToFeatures); 173 this.ProcessComplexReferences(find.EntrySection, sections, referencedComponents, componentsToFeatures, featuresToFeatures, modulesToFeatures);
178 174
179 if (Messaging.Instance.EncounteredError) 175 if (Messaging.Instance.EncounteredError)
180 { 176 {
@@ -200,17 +196,21 @@ namespace WixToolset.Core
200 } 196 }
201 197
202 // resolve the feature to feature connects 198 // resolve the feature to feature connects
203 this.ResolveFeatureToFeatureConnects(featuresToFeatures, allSymbols); 199 this.ResolveFeatureToFeatureConnects(featuresToFeatures, find.Symbols);
204 200
205 // start generating OutputTables and OutputRows for all the sections in the output 201 // start generating OutputTables and OutputRows for all the sections in the output
206 var ensureTableRows = new List<IntermediateTuple>(); 202 var ensureTableRows = new List<IntermediateTuple>();
207 203
208 int sectionCount = 0; 204 // Create the section to hold the linked content.
205 var resolvedSection = new IntermediateSection(find.EntrySection.Id, find.EntrySection.Type, find.EntrySection.Codepage);
206
207 var sectionCount = 0;
208
209 foreach (var section in sections) 209 foreach (var section in sections)
210 { 210 {
211 sectionCount++; 211 sectionCount++;
212 212
213 string sectionId = section.Id; 213 var sectionId = section.Id;
214 if (null == sectionId && this.sectionIdOnRows) 214 if (null == sectionId && this.sectionIdOnRows)
215 { 215 {
216 sectionId = "wix.section." + sectionCount.ToString(CultureInfo.InvariantCulture); 216 sectionId = "wix.section." + sectionCount.ToString(CultureInfo.InvariantCulture);