diff options
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs')
-rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs index 85b3b25a..a19a53f1 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs | |||
@@ -44,9 +44,21 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
44 | this.AddFileTuple((FileTuple)tuple, output); | 44 | this.AddFileTuple((FileTuple)tuple, output); |
45 | break; | 45 | break; |
46 | 46 | ||
47 | case TupleDefinitionType.Media: | ||
48 | this.AddMediaTuple((MediaTuple)tuple, output); | ||
49 | break; | ||
50 | |||
51 | case TupleDefinitionType.Property: | ||
52 | this.AddPropertyTuple((PropertyTuple)tuple, output); | ||
53 | break; | ||
54 | |||
47 | case TupleDefinitionType.WixAction: | 55 | case TupleDefinitionType.WixAction: |
48 | this.AddWixActionTuple((WixActionTuple)tuple, output); | 56 | this.AddWixActionTuple((WixActionTuple)tuple, output); |
49 | break; | 57 | break; |
58 | |||
59 | case TupleDefinitionType.WixMedia: | ||
60 | // Ignored. | ||
61 | break; | ||
50 | 62 | ||
51 | default: | 63 | default: |
52 | this.AddTupleDefaultly(tuple, output); | 64 | this.AddTupleDefaultly(tuple, output); |
@@ -76,6 +88,34 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
76 | row.Attributes = attributes; | 88 | row.Attributes = attributes; |
77 | } | 89 | } |
78 | 90 | ||
91 | private void AddMediaTuple(MediaTuple tuple, Output output) | ||
92 | { | ||
93 | if (this.Section.Type != SectionType.Module) | ||
94 | { | ||
95 | var table = output.EnsureTable(this.TableDefinitions["Media"]); | ||
96 | var row = (MediaRow)table.CreateRow(tuple.SourceLineNumbers); | ||
97 | row.DiskId = tuple.DiskId; | ||
98 | row.LastSequence = tuple.LastSequence; | ||
99 | row.DiskPrompt = tuple.DiskPrompt; | ||
100 | row.Cabinet = tuple.Cabinet; | ||
101 | row.VolumeLabel = tuple.VolumeLabel; | ||
102 | row.Source = tuple.Source; | ||
103 | } | ||
104 | } | ||
105 | |||
106 | private void AddPropertyTuple(PropertyTuple tuple, Output output) | ||
107 | { | ||
108 | if (String.IsNullOrEmpty(tuple.Value)) | ||
109 | { | ||
110 | return; | ||
111 | } | ||
112 | |||
113 | var table = output.EnsureTable(this.TableDefinitions["Property"]); | ||
114 | var row = (PropertyRow)table.CreateRow(tuple.SourceLineNumbers); | ||
115 | row.Property = tuple.Property; | ||
116 | row.Value = tuple.Value; | ||
117 | } | ||
118 | |||
79 | private void AddWixActionTuple(WixActionTuple actionRow, Output output) | 119 | private void AddWixActionTuple(WixActionTuple actionRow, Output output) |
80 | { | 120 | { |
81 | // Get the table definition for the action (and ensure the proper table exists for a module). | 121 | // Get the table definition for the action (and ensure the proper table exists for a module). |