aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2019-10-25 02:47:47 -0700
committerRob Mensching <rob@firegiant.com>2019-10-26 13:32:21 -0700
commitf01d284101e95d490497062c2dc9065423d0cf37 (patch)
tree39e5516a836ccd3436c117f790e7c5374e59a6b2 /src/WixToolset.Core.WindowsInstaller
parent98bdcfac8bd4f699bc6865abd283f710943e77bc (diff)
downloadwix-f01d284101e95d490497062c2dc9065423d0cf37.tar.gz
wix-f01d284101e95d490497062c2dc9065423d0cf37.tar.bz2
wix-f01d284101e95d490497062c2dc9065423d0cf37.zip
Fix MsiAssembly table processing
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs4
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs17
2 files changed, 19 insertions, 2 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs b/src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs
index 0df1a7e9..759ba303 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs
@@ -16,7 +16,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
16 this.Architecture = architecture; 16 this.Architecture = architecture;
17 17
18 this.StrongNamedSigned = !String.IsNullOrEmpty(publicKeyToken); 18 this.StrongNamedSigned = !String.IsNullOrEmpty(publicKeyToken);
19 this.PublicKeyToken = publicKeyToken ?? "null"; 19 this.PublicKeyToken = publicKeyToken;
20 this.Type = type; 20 this.Type = type;
21 } 21 }
22 22
@@ -46,7 +46,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
46 assemblyName.Append(", Culture="); 46 assemblyName.Append(", Culture=");
47 assemblyName.Append(this.Culture); 47 assemblyName.Append(this.Culture);
48 assemblyName.Append(", PublicKeyToken="); 48 assemblyName.Append(", PublicKeyToken=");
49 assemblyName.Append(this.PublicKeyToken); 49 assemblyName.Append(this.PublicKeyToken ?? "null");
50 50
51 if (!String.IsNullOrEmpty(this.Architecture)) 51 if (!String.IsNullOrEmpty(this.Architecture))
52 { 52 {
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
index 17cac83a..081644cb 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
@@ -60,6 +60,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
60 output.EnsureTable(this.TableDefinitions["Signature"]); 60 output.EnsureTable(this.TableDefinitions["Signature"]);
61 break; 61 break;
62 62
63 case TupleDefinitionType.Assembly:
64 this.AddAssemblyTuple((AssemblyTuple)tuple, output);
65 break;
66
63 case TupleDefinitionType.Binary: 67 case TupleDefinitionType.Binary:
64 this.AddTupleDefaultly(tuple, output, idIsPrimaryKey: true); 68 this.AddTupleDefaultly(tuple, output, idIsPrimaryKey: true);
65 break; 69 break;
@@ -239,6 +243,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind
239 } 243 }
240 } 244 }
241 245
246 private void AddAssemblyTuple(AssemblyTuple tuple, Output output)
247 {
248 var attributes = tuple.Type == AssemblyType.Win32Assembly ? 1 : (int?)null;
249
250 var table = output.EnsureTable(this.TableDefinitions["MsiAssembly"]);
251 var row = table.CreateRow(tuple.SourceLineNumbers);
252 row[0] = tuple.ComponentRef;
253 row[1] = tuple.FeatureRef;
254 row[2] = tuple.ManifestFileRef;
255 row[3] = tuple.ApplicationFileRef;
256 row[4] = attributes;
257 }
258
242 private void AddBBControlTuple(BBControlTuple tuple, Output output) 259 private void AddBBControlTuple(BBControlTuple tuple, Output output)
243 { 260 {
244 var attributes = tuple.Attributes; 261 var attributes = tuple.Attributes;