diff options
-rw-r--r-- | src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs | 35 | ||||
-rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/BindVariablesFixture.cs | 2 |
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"); |