aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs35
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/BindVariablesFixture.cs2
2 files changed, 18 insertions, 19 deletions
diff --git a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
index fd847e05..5ddb6be1 100644
--- a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
+++ b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
@@ -208,17 +208,6 @@ namespace WixToolset.Core.Burn
208 { 208 {
209 var command = new ProcessMsiPackageCommand(this.ServiceProvider, this.BackendExtensions, section, facade, packagesPayloads[facade.PackageId]); 209 var command = new ProcessMsiPackageCommand(this.ServiceProvider, this.BackendExtensions, section, facade, packagesPayloads[facade.PackageId]);
210 command.Execute(); 210 command.Execute();
211
212 if (null != variableCache)
213 {
214 var msiPackage = (WixBundleMsiPackageSymbol)facade.SpecificPackageSymbol;
215 variableCache.Add(String.Concat("packageLanguage.", facade.PackageId), msiPackage.ProductLanguage.ToString());
216
217 if (null != msiPackage.Manufacturer)
218 {
219 variableCache.Add(String.Concat("packageManufacturer.", facade.PackageId), msiPackage.Manufacturer);
220 }
221 }
222 } 211 }
223 break; 212 break;
224 213
@@ -239,7 +228,7 @@ namespace WixToolset.Core.Burn
239 228
240 if (null != variableCache) 229 if (null != variableCache)
241 { 230 {
242 BindBundleCommand.PopulatePackageVariableCache(facade.PackageSymbol, variableCache); 231 BindBundleCommand.PopulatePackageVariableCache(facade, variableCache);
243 } 232 }
244 } 233 }
245 234
@@ -534,17 +523,27 @@ namespace WixToolset.Core.Burn
534 /// <summary> 523 /// <summary>
535 /// Populates the variable cache with specific package properties. 524 /// Populates the variable cache with specific package properties.
536 /// </summary> 525 /// </summary>
537 /// <param name="package">The package with properties to cache.</param> 526 /// <param name="facade">The package facade with properties to cache.</param>
538 /// <param name="variableCache">The property cache.</param> 527 /// <param name="variableCache">The property cache.</param>
539 private static void PopulatePackageVariableCache(WixBundlePackageSymbol package, IDictionary<string, string> variableCache) 528 private static void PopulatePackageVariableCache(PackageFacade facade, IDictionary<string, string> variableCache)
540 { 529 {
530 var package = facade.PackageSymbol;
541 var id = package.Id.Id; 531 var id = package.Id.Id;
542 532
543 variableCache.Add(String.Concat("packageDescription.", id), package.Description); 533 variableCache.Add(String.Concat("packageDescription.", id), package.Description ?? String.Empty);
544 //variableCache.Add(String.Concat("packageLanguage.", id), package.Language); 534 variableCache.Add(String.Concat("packageName.", id), package.DisplayName ?? String.Empty);
545 //variableCache.Add(String.Concat("packageManufacturer.", id), package.Manufacturer);
546 variableCache.Add(String.Concat("packageName.", id), package.DisplayName);
547 variableCache.Add(String.Concat("packageVersion.", id), package.Version); 535 variableCache.Add(String.Concat("packageVersion.", id), package.Version);
536
537 if (facade.SpecificPackageSymbol is WixBundleMsiPackageSymbol msiPackage)
538 {
539 variableCache.Add(String.Concat("packageLanguage.", id), msiPackage.ProductLanguage.ToString());
540 variableCache.Add(String.Concat("packageManufacturer.", id), msiPackage.Manufacturer ?? String.Empty);
541 }
542 else
543 {
544 variableCache.Add(String.Concat("packageLanguage.", id), String.Empty);
545 variableCache.Add(String.Concat("packageManufacturer.", id), String.Empty);
546 }
548 } 547 }
549 548
550 private void ResolveBundleInstallScope(IntermediateSection section, WixBundleSymbol bundleSymbol, IEnumerable<PackageFacade> facades) 549 private void ResolveBundleInstallScope(IntermediateSection section, WixBundleSymbol bundleSymbol, IEnumerable<PackageFacade> facades)
diff --git a/src/test/WixToolsetTest.CoreIntegration/BindVariablesFixture.cs b/src/test/WixToolsetTest.CoreIntegration/BindVariablesFixture.cs
index 44f9c802..39e6b4aa 100644
--- a/src/test/WixToolsetTest.CoreIntegration/BindVariablesFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/BindVariablesFixture.cs
@@ -10,7 +10,7 @@ namespace WixToolsetTest.CoreIntegration
10 10
11 public class BindVariablesFixture 11 public class BindVariablesFixture
12 { 12 {
13 [Fact(Skip = "Test demonstrates failure")] 13 [Fact]
14 public void CanBuildBundleWithPackageBindVariables() 14 public void CanBuildBundleWithPackageBindVariables()
15 { 15 {
16 var folder = TestData.Get(@"TestData"); 16 var folder = TestData.Get(@"TestData");