diff options
Diffstat (limited to 'src/ext/Firewall/wixext/FirewallDecompiler.cs')
-rw-r--r-- | src/ext/Firewall/wixext/FirewallDecompiler.cs | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/ext/Firewall/wixext/FirewallDecompiler.cs b/src/ext/Firewall/wixext/FirewallDecompiler.cs index 4fafc0a0..dbfc882e 100644 --- a/src/ext/Firewall/wixext/FirewallDecompiler.cs +++ b/src/ext/Firewall/wixext/FirewallDecompiler.cs | |||
@@ -4,8 +4,6 @@ namespace WixToolset.Firewall | |||
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
7 | using System.Reflection; | ||
8 | using System.Security; | ||
9 | using System.Xml.Linq; | 7 | using System.Xml.Linq; |
10 | using WixToolset.Data; | 8 | using WixToolset.Data; |
11 | using WixToolset.Data.WindowsInstaller; | 9 | using WixToolset.Data.WindowsInstaller; |
@@ -83,7 +81,7 @@ namespace WixToolset.Firewall | |||
83 | string[] addresses = ((string)row[2]).Split(','); | 81 | string[] addresses = ((string)row[2]).Split(','); |
84 | if (addresses.Length == 1) | 82 | if (addresses.Length == 1) |
85 | { | 83 | { |
86 | switch(addresses[0]) | 84 | switch (addresses[0]) |
87 | { | 85 | { |
88 | case "*": | 86 | case "*": |
89 | firewallException.Add(new XAttribute("Scope", "any")); | 87 | firewallException.Add(new XAttribute("Scope", "any")); |
@@ -482,20 +480,25 @@ namespace WixToolset.Firewall | |||
482 | /// <param name="tables">Collection of all tables.</param> | 480 | /// <param name="tables">Collection of all tables.</param> |
483 | private void FinalizeFirewallExceptionTable(TableIndexedCollection tables) | 481 | private void FinalizeFirewallExceptionTable(TableIndexedCollection tables) |
484 | { | 482 | { |
485 | if (tables.TryGetTable("Wix5FirewallException", out var firewallExceptionTable)) | 483 | var possibleTableNames = new List<string>() { "WixFirewallException", "Wix4FirewallException", "Wix5FirewallException", }; |
484 | |||
485 | foreach (var tableName in possibleTableNames) | ||
486 | { | 486 | { |
487 | foreach (var row in firewallExceptionTable.Rows) | 487 | if (tables.TryGetTable(tableName, out var firewallExceptionTable)) |
488 | { | 488 | { |
489 | var xmlConfig = this.DecompilerHelper.GetIndexedElement(row); | 489 | foreach (var row in firewallExceptionTable.Rows) |
490 | |||
491 | var componentId = row.FieldAsString(8); | ||
492 | if (this.DecompilerHelper.TryGetIndexedElement("Component", componentId, out var component)) | ||
493 | { | ||
494 | component.Add(xmlConfig); | ||
495 | } | ||
496 | else | ||
497 | { | 490 | { |
498 | this.Messaging.Write(WarningMessages.ExpectedForeignRow(row.SourceLineNumbers, firewallExceptionTable.Name, row.GetPrimaryKey(), "Component_", componentId, "Component")); | 491 | var xmlConfig = this.DecompilerHelper.GetIndexedElement(row); |
492 | |||
493 | var componentId = row.FieldAsString(8); | ||
494 | if (this.DecompilerHelper.TryGetIndexedElement("Component", componentId, out var component)) | ||
495 | { | ||
496 | component.Add(xmlConfig); | ||
497 | } | ||
498 | else | ||
499 | { | ||
500 | this.Messaging.Write(WarningMessages.ExpectedForeignRow(row.SourceLineNumbers, firewallExceptionTable.Name, row.GetPrimaryKey(), "Component_", componentId, "Component")); | ||
501 | } | ||
499 | } | 502 | } |
500 | } | 503 | } |
501 | } | 504 | } |