aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-07-21 14:21:30 -0700
committerRob Mensching <rob@firegiant.com>2020-07-21 14:33:33 -0700
commit7a6445ddf8d67c1308c0e3f20bf7470cc9baf61c (patch)
tree45e8eed5d682be2c44688574f0185fda36d3e06a
parent832f4a076dbb9290a90057ccd98ba73288ac90f8 (diff)
downloadwix-7a6445ddf8d67c1308c0e3f20bf7470cc9baf61c.tar.gz
wix-7a6445ddf8d67c1308c0e3f20bf7470cc9baf61c.tar.bz2
wix-7a6445ddf8d67c1308c0e3f20bf7470cc9baf61c.zip
Support platform specific directory id names
Diffstat (limited to '')
-rw-r--r--src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs
index 0b40336b..74790915 100644
--- a/src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs
+++ b/src/WixToolset.Data/WindowsInstaller/WindowsInstallerStandard.cs
@@ -422,6 +422,31 @@ namespace WixToolset.Data.WindowsInstaller
422 public static IEnumerable<DirectorySymbol> StandardDirectories() => standardDirectoriesById.Values; 422 public static IEnumerable<DirectorySymbol> StandardDirectories() => standardDirectoriesById.Values;
423 423
424 /// <summary> 424 /// <summary>
425 /// Gets the platform specific directory id for a directory. Most directories are not platform
426 /// specific and return themselves.
427 /// </summary>
428 /// <param name="directoryId">Directory id to get platform specific.</param>
429 /// <param name="platform">Platform to use.</param>
430 /// <returns>Platform specific directory id.</returns>
431 public static string GetPlatformSpecificDirectoryId(string directoryId, Platform platform)
432 {
433 switch (directoryId)
434 {
435 case "CommonFiles6432Folder":
436 return platform == Platform.X86 || platform == Platform.ARM ? "CommonFilesFolder" : "CommonFiles64Folder";
437
438 case "ProgramFiles6432Folder":
439 return platform == Platform.X86 || platform == Platform.ARM ? "ProgramFilesFolder" : "ProgramFiles64Folder";
440
441 case "System6432Folder":
442 return platform == Platform.X86 || platform == Platform.ARM ? "SystemFolder" : "System64Folder";
443
444 default:
445 return directoryId;
446 }
447 }
448
449 /// <summary>
425 /// Find out if a directory is a standard directory. 450 /// Find out if a directory is a standard directory.
426 /// </summary> 451 /// </summary>
427 /// <param name="directoryId">Name of the directory.</param> 452 /// <param name="directoryId">Name of the directory.</param>