diff options
Diffstat (limited to 'src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs')
-rw-r--r-- | src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs | 182 |
1 files changed, 91 insertions, 91 deletions
diff --git a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs index 943625ec..a64bdcc1 100644 --- a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs +++ b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs | |||
@@ -13,7 +13,7 @@ namespace WixToolset.Core.Burn | |||
13 | using WixToolset.Core.Burn.Bundles; | 13 | using WixToolset.Core.Burn.Bundles; |
14 | using WixToolset.Data; | 14 | using WixToolset.Data; |
15 | using WixToolset.Data.Burn; | 15 | using WixToolset.Data.Burn; |
16 | using WixToolset.Data.Tuples; | 16 | using WixToolset.Data.Symbols; |
17 | using WixToolset.Extensibility; | 17 | using WixToolset.Extensibility; |
18 | using WixToolset.Extensibility.Data; | 18 | using WixToolset.Extensibility.Data; |
19 | using WixToolset.Extensibility.Services; | 19 | using WixToolset.Extensibility.Services; |
@@ -88,28 +88,28 @@ namespace WixToolset.Core.Burn | |||
88 | // We shouldn't really get past the linker phase if there are | 88 | // We shouldn't really get past the linker phase if there are |
89 | // no group items... that means that there's no UX, no Chain, | 89 | // no group items... that means that there's no UX, no Chain, |
90 | // *and* no Containers! | 90 | // *and* no Containers! |
91 | var chainPackageTuples = this.GetRequiredTuples<WixBundlePackageTuple>(); | 91 | var chainPackageSymbols = this.GetRequiredSymbols<WixBundlePackageSymbol>(); |
92 | 92 | ||
93 | var wixGroupTuples = this.GetRequiredTuples<WixGroupTuple>(); | 93 | var wixGroupSymbols = this.GetRequiredSymbols<WixGroupSymbol>(); |
94 | 94 | ||
95 | // Ensure there is one and only one row in the WixBundle table. | 95 | // Ensure there is one and only one row in the WixBundle table. |
96 | // The compiler and linker behavior should have colluded to get | 96 | // The compiler and linker behavior should have colluded to get |
97 | // this behavior. | 97 | // this behavior. |
98 | var bundleTuple = this.GetSingleTuple<WixBundleTuple>(); | 98 | var bundleSymbol = this.GetSingleSymbol<WixBundleSymbol>(); |
99 | 99 | ||
100 | bundleTuple.ProviderKey = bundleTuple.BundleId = Guid.NewGuid().ToString("B").ToUpperInvariant(); | 100 | bundleSymbol.ProviderKey = bundleSymbol.BundleId = Guid.NewGuid().ToString("B").ToUpperInvariant(); |
101 | 101 | ||
102 | bundleTuple.Attributes |= WixBundleAttributes.PerMachine; // default to per-machine but the first-per user package wil flip the bundle per-user. | 102 | bundleSymbol.Attributes |= WixBundleAttributes.PerMachine; // default to per-machine but the first-per user package wil flip the bundle per-user. |
103 | 103 | ||
104 | // Ensure there is one and only one row in the WixBootstrapperApplication table. | 104 | // Ensure there is one and only one row in the WixBootstrapperApplication table. |
105 | // The compiler and linker behavior should have colluded to get | 105 | // The compiler and linker behavior should have colluded to get |
106 | // this behavior. | 106 | // this behavior. |
107 | var bundleApplicationTuple = this.GetSingleTuple<WixBootstrapperApplicationTuple>(); | 107 | var bundleApplicationSymbol = this.GetSingleSymbol<WixBootstrapperApplicationSymbol>(); |
108 | 108 | ||
109 | // Ensure there is one and only one row in the WixChain table. | 109 | // Ensure there is one and only one row in the WixChain table. |
110 | // The compiler and linker behavior should have colluded to get | 110 | // The compiler and linker behavior should have colluded to get |
111 | // this behavior. | 111 | // this behavior. |
112 | var chainTuple = this.GetSingleTuple<WixChainTuple>(); | 112 | var chainSymbol = this.GetSingleSymbol<WixChainSymbol>(); |
113 | 113 | ||
114 | if (this.Messaging.EncounteredError) | 114 | if (this.Messaging.EncounteredError) |
115 | { | 115 | { |
@@ -122,7 +122,7 @@ namespace WixToolset.Core.Burn | |||
122 | var orderSearchesCommand = new OrderSearchesCommand(this.Messaging, section); | 122 | var orderSearchesCommand = new OrderSearchesCommand(this.Messaging, section); |
123 | orderSearchesCommand.Execute(); | 123 | orderSearchesCommand.Execute(); |
124 | var orderedSearches = orderSearchesCommand.OrderedSearchFacades; | 124 | var orderedSearches = orderSearchesCommand.OrderedSearchFacades; |
125 | var extensionSearchTuplesById = orderSearchesCommand.ExtensionSearchTuplesByExtensionId; | 125 | var extensionSearchSymbolsById = orderSearchesCommand.ExtensionSearchSymbolsByExtensionId; |
126 | 126 | ||
127 | // Extract files that come from binary .wixlibs and WixExtensions (this does not extract files from merge modules). | 127 | // Extract files that come from binary .wixlibs and WixExtensions (this does not extract files from merge modules). |
128 | { | 128 | { |
@@ -133,29 +133,29 @@ namespace WixToolset.Core.Burn | |||
133 | } | 133 | } |
134 | 134 | ||
135 | // Get the explicit payloads. | 135 | // Get the explicit payloads. |
136 | var payloadTuples = section.Tuples.OfType<WixBundlePayloadTuple>().ToDictionary(t => t.Id.Id); | 136 | var payloadSymbols = section.Symbols.OfType<WixBundlePayloadSymbol>().ToDictionary(t => t.Id.Id); |
137 | 137 | ||
138 | // Update explicitly authored payloads with their parent package and container (as appropriate) | 138 | // Update explicitly authored payloads with their parent package and container (as appropriate) |
139 | // to make it easier to gather the payloads later. | 139 | // to make it easier to gather the payloads later. |
140 | foreach (var groupTuple in wixGroupTuples) | 140 | foreach (var groupSymbol in wixGroupSymbols) |
141 | { | 141 | { |
142 | if (ComplexReferenceChildType.Payload == groupTuple.ChildType) | 142 | if (ComplexReferenceChildType.Payload == groupSymbol.ChildType) |
143 | { | 143 | { |
144 | var payloadTuple = payloadTuples[groupTuple.ChildId]; | 144 | var payloadSymbol = payloadSymbols[groupSymbol.ChildId]; |
145 | 145 | ||
146 | if (ComplexReferenceParentType.Package == groupTuple.ParentType) | 146 | if (ComplexReferenceParentType.Package == groupSymbol.ParentType) |
147 | { | 147 | { |
148 | Debug.Assert(String.IsNullOrEmpty(payloadTuple.PackageRef)); | 148 | Debug.Assert(String.IsNullOrEmpty(payloadSymbol.PackageRef)); |
149 | payloadTuple.PackageRef = groupTuple.ParentId; | 149 | payloadSymbol.PackageRef = groupSymbol.ParentId; |
150 | } | 150 | } |
151 | else if (ComplexReferenceParentType.Container == groupTuple.ParentType) | 151 | else if (ComplexReferenceParentType.Container == groupSymbol.ParentType) |
152 | { | 152 | { |
153 | Debug.Assert(String.IsNullOrEmpty(payloadTuple.ContainerRef)); | 153 | Debug.Assert(String.IsNullOrEmpty(payloadSymbol.ContainerRef)); |
154 | payloadTuple.ContainerRef = groupTuple.ParentId; | 154 | payloadSymbol.ContainerRef = groupSymbol.ParentId; |
155 | } | 155 | } |
156 | else if (ComplexReferenceParentType.Layout == groupTuple.ParentType) | 156 | else if (ComplexReferenceParentType.Layout == groupSymbol.ParentType) |
157 | { | 157 | { |
158 | payloadTuple.LayoutOnly = true; | 158 | payloadSymbol.LayoutOnly = true; |
159 | } | 159 | } |
160 | } | 160 | } |
161 | } | 161 | } |
@@ -165,44 +165,44 @@ namespace WixToolset.Core.Burn | |||
165 | // Process the explicitly authored payloads. | 165 | // Process the explicitly authored payloads. |
166 | ISet<string> processedPayloads; | 166 | ISet<string> processedPayloads; |
167 | { | 167 | { |
168 | var command = new ProcessPayloadsCommand(this.ServiceProvider, this.BackendHelper, payloadTuples.Values, bundleTuple.DefaultPackagingType, layoutDirectory); | 168 | var command = new ProcessPayloadsCommand(this.ServiceProvider, this.BackendHelper, payloadSymbols.Values, bundleSymbol.DefaultPackagingType, layoutDirectory); |
169 | command.Execute(); | 169 | command.Execute(); |
170 | 170 | ||
171 | fileTransfers.AddRange(command.FileTransfers); | 171 | fileTransfers.AddRange(command.FileTransfers); |
172 | trackedFiles.AddRange(command.TrackedFiles); | 172 | trackedFiles.AddRange(command.TrackedFiles); |
173 | 173 | ||
174 | processedPayloads = new HashSet<string>(payloadTuples.Keys); | 174 | processedPayloads = new HashSet<string>(payloadSymbols.Keys); |
175 | } | 175 | } |
176 | 176 | ||
177 | IDictionary<string, PackageFacade> facades; | 177 | IDictionary<string, PackageFacade> facades; |
178 | { | 178 | { |
179 | var command = new GetPackageFacadesCommand(chainPackageTuples, section); | 179 | var command = new GetPackageFacadesCommand(chainPackageSymbols, section); |
180 | command.Execute(); | 180 | command.Execute(); |
181 | 181 | ||
182 | facades = command.PackageFacades; | 182 | facades = command.PackageFacades; |
183 | } | 183 | } |
184 | 184 | ||
185 | // Process each package facade. Note this is likely to add payloads and other tuples so | 185 | // Process each package facade. Note this is likely to add payloads and other symbols so |
186 | // note that any indexes created above may be out of date now. | 186 | // note that any indexes created above may be out of date now. |
187 | foreach (var facade in facades.Values) | 187 | foreach (var facade in facades.Values) |
188 | { | 188 | { |
189 | switch (facade.PackageTuple.Type) | 189 | switch (facade.PackageSymbol.Type) |
190 | { | 190 | { |
191 | case WixBundlePackageType.Exe: | 191 | case WixBundlePackageType.Exe: |
192 | { | 192 | { |
193 | var command = new ProcessExePackageCommand(facade, payloadTuples); | 193 | var command = new ProcessExePackageCommand(facade, payloadSymbols); |
194 | command.Execute(); | 194 | command.Execute(); |
195 | } | 195 | } |
196 | break; | 196 | break; |
197 | 197 | ||
198 | case WixBundlePackageType.Msi: | 198 | case WixBundlePackageType.Msi: |
199 | { | 199 | { |
200 | var command = new ProcessMsiPackageCommand(this.ServiceProvider, this.BackendExtensions, section, facade, payloadTuples); | 200 | var command = new ProcessMsiPackageCommand(this.ServiceProvider, this.BackendExtensions, section, facade, payloadSymbols); |
201 | command.Execute(); | 201 | command.Execute(); |
202 | 202 | ||
203 | if (null != variableCache) | 203 | if (null != variableCache) |
204 | { | 204 | { |
205 | var msiPackage = (WixBundleMsiPackageTuple)facade.SpecificPackageTuple; | 205 | var msiPackage = (WixBundleMsiPackageSymbol)facade.SpecificPackageSymbol; |
206 | variableCache.Add(String.Concat("packageLanguage.", facade.PackageId), msiPackage.ProductLanguage.ToString()); | 206 | variableCache.Add(String.Concat("packageLanguage.", facade.PackageId), msiPackage.ProductLanguage.ToString()); |
207 | 207 | ||
208 | if (null != msiPackage.Manufacturer) | 208 | if (null != msiPackage.Manufacturer) |
@@ -215,14 +215,14 @@ namespace WixToolset.Core.Burn | |||
215 | 215 | ||
216 | case WixBundlePackageType.Msp: | 216 | case WixBundlePackageType.Msp: |
217 | { | 217 | { |
218 | var command = new ProcessMspPackageCommand(this.Messaging, section, facade, payloadTuples); | 218 | var command = new ProcessMspPackageCommand(this.Messaging, section, facade, payloadSymbols); |
219 | command.Execute(); | 219 | command.Execute(); |
220 | } | 220 | } |
221 | break; | 221 | break; |
222 | 222 | ||
223 | case WixBundlePackageType.Msu: | 223 | case WixBundlePackageType.Msu: |
224 | { | 224 | { |
225 | var command = new ProcessMsuPackageCommand(facade, payloadTuples); | 225 | var command = new ProcessMsuPackageCommand(facade, payloadSymbols); |
226 | command.Execute(); | 226 | command.Execute(); |
227 | } | 227 | } |
228 | break; | 228 | break; |
@@ -230,7 +230,7 @@ namespace WixToolset.Core.Burn | |||
230 | 230 | ||
231 | if (null != variableCache) | 231 | if (null != variableCache) |
232 | { | 232 | { |
233 | BindBundleCommand.PopulatePackageVariableCache(facade.PackageTuple, variableCache); | 233 | BindBundleCommand.PopulatePackageVariableCache(facade.PackageSymbol, variableCache); |
234 | } | 234 | } |
235 | } | 235 | } |
236 | 236 | ||
@@ -241,13 +241,13 @@ namespace WixToolset.Core.Burn | |||
241 | 241 | ||
242 | // Reindex the payloads now that all the payloads (minus the manifest payloads that will be created later) | 242 | // Reindex the payloads now that all the payloads (minus the manifest payloads that will be created later) |
243 | // are present. | 243 | // are present. |
244 | payloadTuples = section.Tuples.OfType<WixBundlePayloadTuple>().ToDictionary(t => t.Id.Id); | 244 | payloadSymbols = section.Symbols.OfType<WixBundlePayloadSymbol>().ToDictionary(t => t.Id.Id); |
245 | 245 | ||
246 | // Process the payloads that were added by processing the packages. | 246 | // Process the payloads that were added by processing the packages. |
247 | { | 247 | { |
248 | var toProcess = payloadTuples.Values.Where(r => !processedPayloads.Contains(r.Id.Id)).ToList(); | 248 | var toProcess = payloadSymbols.Values.Where(r => !processedPayloads.Contains(r.Id.Id)).ToList(); |
249 | 249 | ||
250 | var command = new ProcessPayloadsCommand(this.ServiceProvider, this.BackendHelper, toProcess, bundleTuple.DefaultPackagingType, layoutDirectory); | 250 | var command = new ProcessPayloadsCommand(this.ServiceProvider, this.BackendHelper, toProcess, bundleSymbol.DefaultPackagingType, layoutDirectory); |
251 | command.Execute(); | 251 | command.Execute(); |
252 | 252 | ||
253 | fileTransfers.AddRange(command.FileTransfers); | 253 | fileTransfers.AddRange(command.FileTransfers); |
@@ -258,34 +258,34 @@ namespace WixToolset.Core.Burn | |||
258 | 258 | ||
259 | // Set the package metadata from the payloads now that we have the complete payload information. | 259 | // Set the package metadata from the payloads now that we have the complete payload information. |
260 | { | 260 | { |
261 | var payloadsByPackageId = payloadTuples.Values.ToLookup(p => p.PackageRef); | 261 | var payloadsByPackageId = payloadSymbols.Values.ToLookup(p => p.PackageRef); |
262 | 262 | ||
263 | foreach (var facade in facades.Values) | 263 | foreach (var facade in facades.Values) |
264 | { | 264 | { |
265 | facade.PackageTuple.Size = 0; | 265 | facade.PackageSymbol.Size = 0; |
266 | 266 | ||
267 | var packagePayloads = payloadsByPackageId[facade.PackageId]; | 267 | var packagePayloads = payloadsByPackageId[facade.PackageId]; |
268 | 268 | ||
269 | foreach (var payload in packagePayloads) | 269 | foreach (var payload in packagePayloads) |
270 | { | 270 | { |
271 | facade.PackageTuple.Size += payload.FileSize.Value; | 271 | facade.PackageSymbol.Size += payload.FileSize.Value; |
272 | } | 272 | } |
273 | 273 | ||
274 | if (!facade.PackageTuple.InstallSize.HasValue) | 274 | if (!facade.PackageSymbol.InstallSize.HasValue) |
275 | { | 275 | { |
276 | facade.PackageTuple.InstallSize = facade.PackageTuple.Size; | 276 | facade.PackageSymbol.InstallSize = facade.PackageSymbol.Size; |
277 | } | 277 | } |
278 | 278 | ||
279 | var packagePayload = payloadTuples[facade.PackageTuple.PayloadRef]; | 279 | var packagePayload = payloadSymbols[facade.PackageSymbol.PayloadRef]; |
280 | 280 | ||
281 | if (String.IsNullOrEmpty(facade.PackageTuple.Description)) | 281 | if (String.IsNullOrEmpty(facade.PackageSymbol.Description)) |
282 | { | 282 | { |
283 | facade.PackageTuple.Description = packagePayload.Description; | 283 | facade.PackageSymbol.Description = packagePayload.Description; |
284 | } | 284 | } |
285 | 285 | ||
286 | if (String.IsNullOrEmpty(facade.PackageTuple.DisplayName)) | 286 | if (String.IsNullOrEmpty(facade.PackageSymbol.DisplayName)) |
287 | { | 287 | { |
288 | facade.PackageTuple.DisplayName = packagePayload.DisplayName; | 288 | facade.PackageSymbol.DisplayName = packagePayload.DisplayName; |
289 | } | 289 | } |
290 | } | 290 | } |
291 | } | 291 | } |
@@ -293,7 +293,7 @@ namespace WixToolset.Core.Burn | |||
293 | // Give the UX payloads their embedded IDs... | 293 | // Give the UX payloads their embedded IDs... |
294 | var uxPayloadIndex = 0; | 294 | var uxPayloadIndex = 0; |
295 | { | 295 | { |
296 | foreach (var payload in payloadTuples.Values.Where(p => BurnConstants.BurnUXContainerName == p.ContainerRef)) | 296 | foreach (var payload in payloadSymbols.Values.Where(p => BurnConstants.BurnUXContainerName == p.ContainerRef)) |
297 | { | 297 | { |
298 | // In theory, UX payloads could be embedded in the UX CAB, external to the bundle EXE, or even | 298 | // In theory, UX payloads could be embedded in the UX CAB, external to the bundle EXE, or even |
299 | // downloaded. The current engine requires the UX to be fully present before any downloading starts, | 299 | // downloaded. The current engine requires the UX to be fully present before any downloading starts, |
@@ -317,7 +317,7 @@ namespace WixToolset.Core.Burn | |||
317 | 317 | ||
318 | // Give the embedded payloads without an embedded id yet an embedded id. | 318 | // Give the embedded payloads without an embedded id yet an embedded id. |
319 | var payloadIndex = 0; | 319 | var payloadIndex = 0; |
320 | foreach (var payload in payloadTuples.Values) | 320 | foreach (var payload in payloadSymbols.Values) |
321 | { | 321 | { |
322 | Debug.Assert(PackagingType.Unknown != payload.Packaging); | 322 | Debug.Assert(PackagingType.Unknown != payload.Packaging); |
323 | 323 | ||
@@ -341,11 +341,11 @@ namespace WixToolset.Core.Burn | |||
341 | } | 341 | } |
342 | 342 | ||
343 | // If catalog files exist, non-embedded payloads should validate with the catalogs. | 343 | // If catalog files exist, non-embedded payloads should validate with the catalogs. |
344 | var catalogs = section.Tuples.OfType<WixBundleCatalogTuple>().ToList(); | 344 | var catalogs = section.Symbols.OfType<WixBundleCatalogSymbol>().ToList(); |
345 | 345 | ||
346 | if (catalogs.Count > 0) | 346 | if (catalogs.Count > 0) |
347 | { | 347 | { |
348 | var command = new VerifyPayloadsWithCatalogCommand(this.Messaging, catalogs, payloadTuples.Values); | 348 | var command = new VerifyPayloadsWithCatalogCommand(this.Messaging, catalogs, payloadSymbols.Values); |
349 | command.Execute(); | 349 | command.Execute(); |
350 | } | 350 | } |
351 | 351 | ||
@@ -355,12 +355,12 @@ namespace WixToolset.Core.Burn | |||
355 | } | 355 | } |
356 | 356 | ||
357 | IEnumerable<PackageFacade> orderedFacades; | 357 | IEnumerable<PackageFacade> orderedFacades; |
358 | IEnumerable<WixBundleRollbackBoundaryTuple> boundaries; | 358 | IEnumerable<WixBundleRollbackBoundarySymbol> boundaries; |
359 | { | 359 | { |
360 | var groupTuples = section.Tuples.OfType<WixGroupTuple>(); | 360 | var groupSymbols = section.Symbols.OfType<WixGroupSymbol>(); |
361 | var boundaryTuplesById = section.Tuples.OfType<WixBundleRollbackBoundaryTuple>().ToDictionary(b => b.Id.Id); | 361 | var boundarySymbolsById = section.Symbols.OfType<WixBundleRollbackBoundarySymbol>().ToDictionary(b => b.Id.Id); |
362 | 362 | ||
363 | var command = new OrderPackagesAndRollbackBoundariesCommand(this.Messaging, groupTuples, boundaryTuplesById, facades); | 363 | var command = new OrderPackagesAndRollbackBoundariesCommand(this.Messaging, groupSymbols, boundarySymbolsById, facades); |
364 | command.Execute(); | 364 | command.Execute(); |
365 | 365 | ||
366 | orderedFacades = command.OrderedPackageFacades; | 366 | orderedFacades = command.OrderedPackageFacades; |
@@ -374,24 +374,24 @@ namespace WixToolset.Core.Burn | |||
374 | resolveDelayedFieldsCommand.Execute(); | 374 | resolveDelayedFieldsCommand.Execute(); |
375 | } | 375 | } |
376 | 376 | ||
377 | Dictionary<string, ProvidesDependencyTuple> dependencyTuplesByKey; | 377 | Dictionary<string, ProvidesDependencySymbol> dependencySymbolsByKey; |
378 | { | 378 | { |
379 | var command = new ProcessDependencyProvidersCommand(this.Messaging, section, facades); | 379 | var command = new ProcessDependencyProvidersCommand(this.Messaging, section, facades); |
380 | command.Execute(); | 380 | command.Execute(); |
381 | 381 | ||
382 | if (!String.IsNullOrEmpty(command.BundleProviderKey)) | 382 | if (!String.IsNullOrEmpty(command.BundleProviderKey)) |
383 | { | 383 | { |
384 | bundleTuple.ProviderKey = command.BundleProviderKey; // set the overridable bundle provider key. | 384 | bundleSymbol.ProviderKey = command.BundleProviderKey; // set the overridable bundle provider key. |
385 | } | 385 | } |
386 | dependencyTuplesByKey = command.DependencyTuplesByKey; | 386 | dependencySymbolsByKey = command.DependencySymbolsByKey; |
387 | } | 387 | } |
388 | 388 | ||
389 | // Update the bundle per-machine/per-user scope based on the chained packages. | 389 | // Update the bundle per-machine/per-user scope based on the chained packages. |
390 | this.ResolveBundleInstallScope(section, bundleTuple, orderedFacades); | 390 | this.ResolveBundleInstallScope(section, bundleSymbol, orderedFacades); |
391 | 391 | ||
392 | // Generate data for all manifests. | 392 | // Generate data for all manifests. |
393 | { | 393 | { |
394 | var command = new GenerateManifestDataFromIRCommand(this.Messaging, section, this.BackendExtensions, this.InternalBurnBackendHelper, extensionSearchTuplesById); | 394 | var command = new GenerateManifestDataFromIRCommand(this.Messaging, section, this.BackendExtensions, this.InternalBurnBackendHelper, extensionSearchSymbolsById); |
395 | command.Execute(); | 395 | command.Execute(); |
396 | } | 396 | } |
397 | 397 | ||
@@ -409,12 +409,12 @@ namespace WixToolset.Core.Burn | |||
409 | // Generate the core-defined BA manifest tables... | 409 | // Generate the core-defined BA manifest tables... |
410 | string baManifestPath; | 410 | string baManifestPath; |
411 | { | 411 | { |
412 | var command = new CreateBootstrapperApplicationManifestCommand(section, bundleTuple, orderedFacades, uxPayloadIndex, payloadTuples, this.IntermediateFolder, this.InternalBurnBackendHelper); | 412 | var command = new CreateBootstrapperApplicationManifestCommand(section, bundleSymbol, orderedFacades, uxPayloadIndex, payloadSymbols, this.IntermediateFolder, this.InternalBurnBackendHelper); |
413 | command.Execute(); | 413 | command.Execute(); |
414 | 414 | ||
415 | var baManifestPayload = command.BootstrapperApplicationManifestPayloadRow; | 415 | var baManifestPayload = command.BootstrapperApplicationManifestPayloadRow; |
416 | baManifestPath = command.OutputPath; | 416 | baManifestPath = command.OutputPath; |
417 | payloadTuples.Add(baManifestPayload.Id.Id, baManifestPayload); | 417 | payloadSymbols.Add(baManifestPayload.Id.Id, baManifestPayload); |
418 | ++uxPayloadIndex; | 418 | ++uxPayloadIndex; |
419 | 419 | ||
420 | trackedFiles.Add(this.BackendHelper.TrackFile(baManifestPath, TrackedFileType.Temporary)); | 420 | trackedFiles.Add(this.BackendHelper.TrackFile(baManifestPath, TrackedFileType.Temporary)); |
@@ -423,12 +423,12 @@ namespace WixToolset.Core.Burn | |||
423 | // Generate the bundle extension manifest... | 423 | // Generate the bundle extension manifest... |
424 | string bextManifestPath; | 424 | string bextManifestPath; |
425 | { | 425 | { |
426 | var command = new CreateBundleExtensionManifestCommand(section, bundleTuple, uxPayloadIndex, this.IntermediateFolder, this.InternalBurnBackendHelper); | 426 | var command = new CreateBundleExtensionManifestCommand(section, bundleSymbol, uxPayloadIndex, this.IntermediateFolder, this.InternalBurnBackendHelper); |
427 | command.Execute(); | 427 | command.Execute(); |
428 | 428 | ||
429 | var bextManifestPayload = command.BundleExtensionManifestPayloadRow; | 429 | var bextManifestPayload = command.BundleExtensionManifestPayloadRow; |
430 | bextManifestPath = command.OutputPath; | 430 | bextManifestPath = command.OutputPath; |
431 | payloadTuples.Add(bextManifestPayload.Id.Id, bextManifestPayload); | 431 | payloadSymbols.Add(bextManifestPayload.Id.Id, bextManifestPayload); |
432 | ++uxPayloadIndex; | 432 | ++uxPayloadIndex; |
433 | 433 | ||
434 | trackedFiles.Add(this.BackendHelper.TrackFile(bextManifestPath, TrackedFileType.Temporary)); | 434 | trackedFiles.Add(this.BackendHelper.TrackFile(bextManifestPath, TrackedFileType.Temporary)); |
@@ -436,11 +436,11 @@ namespace WixToolset.Core.Burn | |||
436 | 436 | ||
437 | // Create all the containers except the UX container first so the manifest (that goes in the UX container) | 437 | // Create all the containers except the UX container first so the manifest (that goes in the UX container) |
438 | // can contain all size and hash information about the non-UX containers. | 438 | // can contain all size and hash information about the non-UX containers. |
439 | WixBundleContainerTuple uxContainer; | 439 | WixBundleContainerSymbol uxContainer; |
440 | IEnumerable<WixBundlePayloadTuple> uxPayloads; | 440 | IEnumerable<WixBundlePayloadSymbol> uxPayloads; |
441 | IEnumerable<WixBundleContainerTuple> containers; | 441 | IEnumerable<WixBundleContainerSymbol> containers; |
442 | { | 442 | { |
443 | var command = new CreateNonUXContainers(this.BackendHelper, section, bundleApplicationTuple, payloadTuples, this.IntermediateFolder, layoutDirectory, this.DefaultCompressionLevel); | 443 | var command = new CreateNonUXContainers(this.BackendHelper, section, bundleApplicationSymbol, payloadSymbols, this.IntermediateFolder, layoutDirectory, this.DefaultCompressionLevel); |
444 | command.Execute(); | 444 | command.Execute(); |
445 | 445 | ||
446 | fileTransfers.AddRange(command.FileTransfers); | 446 | fileTransfers.AddRange(command.FileTransfers); |
@@ -450,13 +450,13 @@ namespace WixToolset.Core.Burn | |||
450 | uxPayloads = command.UXContainerPayloads; | 450 | uxPayloads = command.UXContainerPayloads; |
451 | containers = command.Containers; | 451 | containers = command.Containers; |
452 | } | 452 | } |
453 | 453 | ||
454 | // Create the bundle manifest. | 454 | // Create the bundle manifest. |
455 | string manifestPath; | 455 | string manifestPath; |
456 | { | 456 | { |
457 | var executableName = Path.GetFileName(this.OutputPath); | 457 | var executableName = Path.GetFileName(this.OutputPath); |
458 | 458 | ||
459 | var command = new CreateBurnManifestCommand(this.Messaging, this.BackendExtensions, executableName, section, bundleTuple, containers, chainTuple, orderedFacades, boundaries, uxPayloads, payloadTuples, orderedSearches, catalogs, this.IntermediateFolder); | 459 | var command = new CreateBurnManifestCommand(this.Messaging, this.BackendExtensions, executableName, section, bundleSymbol, containers, chainSymbol, orderedFacades, boundaries, uxPayloads, payloadSymbols, orderedSearches, catalogs, this.IntermediateFolder); |
460 | command.Execute(); | 460 | command.Execute(); |
461 | 461 | ||
462 | manifestPath = command.OutputPath; | 462 | manifestPath = command.OutputPath; |
@@ -475,7 +475,7 @@ namespace WixToolset.Core.Burn | |||
475 | } | 475 | } |
476 | 476 | ||
477 | { | 477 | { |
478 | var command = new CreateBundleExeCommand(this.Messaging, this.BackendHelper, this.IntermediateFolder, this.OutputPath, bundleTuple, uxContainer, containers); | 478 | var command = new CreateBundleExeCommand(this.Messaging, this.BackendHelper, this.IntermediateFolder, this.OutputPath, bundleSymbol, uxContainer, containers); |
479 | command.Execute(); | 479 | command.Execute(); |
480 | 480 | ||
481 | fileTransfers.Add(command.Transfer); | 481 | fileTransfers.Add(command.Transfer); |
@@ -483,7 +483,7 @@ namespace WixToolset.Core.Burn | |||
483 | } | 483 | } |
484 | 484 | ||
485 | #if TODO // does this need to come back, or do they only need to be in TrackedFiles? | 485 | #if TODO // does this need to come back, or do they only need to be in TrackedFiles? |
486 | this.ContentFilePaths = payloadTuples.Values.Where(p => p.ContentFile).Select(p => p.FullFileName).ToList(); | 486 | this.ContentFilePaths = payloadSymbols.Values.Where(p => p.ContentFile).Select(p => p.FullFileName).ToList(); |
487 | #endif | 487 | #endif |
488 | this.FileTransfers = fileTransfers; | 488 | this.FileTransfers = fileTransfers; |
489 | this.TrackedFiles = trackedFiles; | 489 | this.TrackedFiles = trackedFiles; |
@@ -522,7 +522,7 @@ namespace WixToolset.Core.Burn | |||
522 | /// </summary> | 522 | /// </summary> |
523 | /// <param name="package">The package with properties to cache.</param> | 523 | /// <param name="package">The package with properties to cache.</param> |
524 | /// <param name="variableCache">The property cache.</param> | 524 | /// <param name="variableCache">The property cache.</param> |
525 | private static void PopulatePackageVariableCache(WixBundlePackageTuple package, IDictionary<string, string> variableCache) | 525 | private static void PopulatePackageVariableCache(WixBundlePackageSymbol package, IDictionary<string, string> variableCache) |
526 | { | 526 | { |
527 | var id = package.Id.Id; | 527 | var id = package.Id.Id; |
528 | 528 | ||
@@ -533,17 +533,17 @@ namespace WixToolset.Core.Burn | |||
533 | variableCache.Add(String.Concat("packageVersion.", id), package.Version); | 533 | variableCache.Add(String.Concat("packageVersion.", id), package.Version); |
534 | } | 534 | } |
535 | 535 | ||
536 | private void ResolveBundleInstallScope(IntermediateSection section, WixBundleTuple bundleTuple, IEnumerable<PackageFacade> facades) | 536 | private void ResolveBundleInstallScope(IntermediateSection section, WixBundleSymbol bundleSymbol, IEnumerable<PackageFacade> facades) |
537 | { | 537 | { |
538 | var dependencyTuplesById = section.Tuples.OfType<ProvidesDependencyTuple>().ToDictionary(t => t.Id.Id); | 538 | var dependencySymbolsById = section.Symbols.OfType<ProvidesDependencySymbol>().ToDictionary(t => t.Id.Id); |
539 | 539 | ||
540 | foreach (var facade in facades) | 540 | foreach (var facade in facades) |
541 | { | 541 | { |
542 | if (bundleTuple.PerMachine && YesNoDefaultType.No == facade.PackageTuple.PerMachine) | 542 | if (bundleSymbol.PerMachine && YesNoDefaultType.No == facade.PackageSymbol.PerMachine) |
543 | { | 543 | { |
544 | this.Messaging.Write(VerboseMessages.SwitchingToPerUserPackage(facade.PackageTuple.SourceLineNumbers, facade.PackageId)); | 544 | this.Messaging.Write(VerboseMessages.SwitchingToPerUserPackage(facade.PackageSymbol.SourceLineNumbers, facade.PackageId)); |
545 | 545 | ||
546 | bundleTuple.Attributes &= ~WixBundleAttributes.PerMachine; | 546 | bundleSymbol.Attributes &= ~WixBundleAttributes.PerMachine; |
547 | break; | 547 | break; |
548 | } | 548 | } |
549 | } | 549 | } |
@@ -551,45 +551,45 @@ namespace WixToolset.Core.Burn | |||
551 | foreach (var facade in facades) | 551 | foreach (var facade in facades) |
552 | { | 552 | { |
553 | // Update package scope from bundle scope if default. | 553 | // Update package scope from bundle scope if default. |
554 | if (YesNoDefaultType.Default == facade.PackageTuple.PerMachine) | 554 | if (YesNoDefaultType.Default == facade.PackageSymbol.PerMachine) |
555 | { | 555 | { |
556 | facade.PackageTuple.PerMachine = bundleTuple.PerMachine ? YesNoDefaultType.Yes : YesNoDefaultType.No; | 556 | facade.PackageSymbol.PerMachine = bundleSymbol.PerMachine ? YesNoDefaultType.Yes : YesNoDefaultType.No; |
557 | } | 557 | } |
558 | 558 | ||
559 | // We will only register packages in the same scope as the bundle. Warn if any packages with providers | 559 | // We will only register packages in the same scope as the bundle. Warn if any packages with providers |
560 | // are in a different scope and not permanent (permanents typically don't need a ref-count). | 560 | // are in a different scope and not permanent (permanents typically don't need a ref-count). |
561 | if (!bundleTuple.PerMachine && | 561 | if (!bundleSymbol.PerMachine && |
562 | YesNoDefaultType.Yes == facade.PackageTuple.PerMachine && | 562 | YesNoDefaultType.Yes == facade.PackageSymbol.PerMachine && |
563 | !facade.PackageTuple.Permanent && | 563 | !facade.PackageSymbol.Permanent && |
564 | dependencyTuplesById.ContainsKey(facade.PackageId)) | 564 | dependencySymbolsById.ContainsKey(facade.PackageId)) |
565 | { | 565 | { |
566 | this.Messaging.Write(WarningMessages.NoPerMachineDependencies(facade.PackageTuple.SourceLineNumbers, facade.PackageId)); | 566 | this.Messaging.Write(WarningMessages.NoPerMachineDependencies(facade.PackageSymbol.SourceLineNumbers, facade.PackageId)); |
567 | } | 567 | } |
568 | } | 568 | } |
569 | } | 569 | } |
570 | 570 | ||
571 | private IEnumerable<T> GetRequiredTuples<T>() where T : IntermediateTuple | 571 | private IEnumerable<T> GetRequiredSymbols<T>() where T : IntermediateSymbol |
572 | { | 572 | { |
573 | var tuples = this.Output.Sections.Single().Tuples.OfType<T>().ToList(); | 573 | var symbols = this.Output.Sections.Single().Symbols.OfType<T>().ToList(); |
574 | 574 | ||
575 | if (0 == tuples.Count) | 575 | if (0 == symbols.Count) |
576 | { | 576 | { |
577 | throw new WixException(ErrorMessages.MissingBundleInformation(nameof(T))); | 577 | throw new WixException(ErrorMessages.MissingBundleInformation(nameof(T))); |
578 | } | 578 | } |
579 | 579 | ||
580 | return tuples; | 580 | return symbols; |
581 | } | 581 | } |
582 | 582 | ||
583 | private T GetSingleTuple<T>() where T : IntermediateTuple | 583 | private T GetSingleSymbol<T>() where T : IntermediateSymbol |
584 | { | 584 | { |
585 | var tuples = this.Output.Sections.Single().Tuples.OfType<T>().ToList(); | 585 | var symbols = this.Output.Sections.Single().Symbols.OfType<T>().ToList(); |
586 | 586 | ||
587 | if (1 != tuples.Count) | 587 | if (1 != symbols.Count) |
588 | { | 588 | { |
589 | throw new WixException(ErrorMessages.MissingBundleInformation(nameof(T))); | 589 | throw new WixException(ErrorMessages.MissingBundleInformation(nameof(T))); |
590 | } | 590 | } |
591 | 591 | ||
592 | return tuples[0]; | 592 | return symbols[0]; |
593 | } | 593 | } |
594 | } | 594 | } |
595 | } | 595 | } |