diff options
author | Rob Mensching <rob@firegiant.com> | 2017-12-12 12:08:51 -0800 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2017-12-12 12:08:51 -0800 |
commit | 6f1665ed759b31bd095f186f9239232c653597cd (patch) | |
tree | d7ee0b9b903d18c0cfa754f4609ca9ffb1aabb19 /src | |
parent | 6e9c25cb45cb59b4790ec3c32ee40d2077da521c (diff) | |
download | wix-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.cs | 2 | ||||
-rw-r--r-- | src/WixToolset.Core/Linker.cs | 20 |
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); |