From 232176210981a8e21793f6096dd651eba29caf8e Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 26 Dec 2018 12:40:58 -0800 Subject: Populate MsiAssemblyName table Fixes wixtoolset/issues#5865 --- .../Bind/AssemblyName.cs | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/AssemblyName.cs') 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 @@ +// 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. + +namespace WixToolset.Core.WindowsInstaller.Bind +{ + using System; + using System.Text; + + internal class AssemblyName + { + public AssemblyName(string name, string culture, string version, string fileVersion, string architecture, string publicKeyToken, string type) + { + this.Name = name; + this.Culture = culture ?? "neutral"; + this.Version = version; + this.FileVersion = fileVersion; + this.Architecture = architecture; + + this.StrongNamedSigned = !String.IsNullOrEmpty(publicKeyToken); + this.PublicKeyToken = publicKeyToken ?? "null"; + this.Type = type; + } + + public string Name { get; } + + public string Culture { get; } + + public string Version { get; } + + public string FileVersion { get; } + + public string Architecture { get; } + + public string PublicKeyToken { get; } + + public bool StrongNamedSigned { get; } + + public string Type { get; } + + public string GetFullName() + { + var assemblyName = new StringBuilder(); + + assemblyName.Append(this.Name); + assemblyName.Append(", Version="); + assemblyName.Append(this.Version); + assemblyName.Append(", Culture="); + assemblyName.Append(this.Culture); + assemblyName.Append(", PublicKeyToken="); + assemblyName.Append(this.PublicKeyToken); + + if (!String.IsNullOrEmpty(this.Architecture)) + { + assemblyName.Append(", ProcessorArchitecture="); + assemblyName.Append(this.Architecture); + } + + return assemblyName.ToString(); + } + } +} -- cgit v1.2.3-55-g6feb