aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2018-12-26 12:40:58 -0800
committerRob Mensching <rob@robmensching.com>2018-12-26 14:03:10 -0800
commit232176210981a8e21793f6096dd651eba29caf8e (patch)
tree5880b1b9c968f494fbab3f78c07cba95ed309c40 /src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs
parent758bcf4bb6d61dd9d6471d9f9629d4f7b18d43cb (diff)
downloadwix-232176210981a8e21793f6096dd651eba29caf8e.tar.gz
wix-232176210981a8e21793f6096dd651eba29caf8e.tar.bz2
wix-232176210981a8e21793f6096dd651eba29caf8e.zip
Populate MsiAssemblyName table
Fixes wixtoolset/issues#5865
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs b/src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs
new file mode 100644
index 00000000..0df1a7e9
--- /dev/null
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs
@@ -0,0 +1,60 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Core.WindowsInstaller.Bind
4{
5 using System;
6 using System.Text;
7
8 internal class AssemblyName
9 {
10 public AssemblyName(string name, string culture, string version, string fileVersion, string architecture, string publicKeyToken, string type)
11 {
12 this.Name = name;
13 this.Culture = culture ?? "neutral";
14 this.Version = version;
15 this.FileVersion = fileVersion;
16 this.Architecture = architecture;
17
18 this.StrongNamedSigned = !String.IsNullOrEmpty(publicKeyToken);
19 this.PublicKeyToken = publicKeyToken ?? "null";
20 this.Type = type;
21 }
22
23 public string Name { get; }
24
25 public string Culture { get; }
26
27 public string Version { get; }
28
29 public string FileVersion { get; }
30
31 public string Architecture { get; }
32
33 public string PublicKeyToken { get; }
34
35 public bool StrongNamedSigned { get; }
36
37 public string Type { get; }
38
39 public string GetFullName()
40 {
41 var assemblyName = new StringBuilder();
42
43 assemblyName.Append(this.Name);
44 assemblyName.Append(", Version=");
45 assemblyName.Append(this.Version);
46 assemblyName.Append(", Culture=");
47 assemblyName.Append(this.Culture);
48 assemblyName.Append(", PublicKeyToken=");
49 assemblyName.Append(this.PublicKeyToken);
50
51 if (!String.IsNullOrEmpty(this.Architecture))
52 {
53 assemblyName.Append(", ProcessorArchitecture=");
54 assemblyName.Append(this.Architecture);
55 }
56
57 return assemblyName.ToString();
58 }
59 }
60}