private void AddWin32VersionResource(string contractLocation, Assembly facade) { var versionInfo = FileVersionInfo.GetVersionInfo(contractLocation); var versionSerializer = new VersionResourceSerializer( true, versionInfo.Comments, versionInfo.CompanyName, versionInfo.FileDescription, _assemblyFileVersion == null ? versionInfo.FileVersion : _assemblyFileVersion.ToString(), versionInfo.InternalName, versionInfo.LegalCopyright, versionInfo.LegalTrademarks, versionInfo.OriginalFilename, versionInfo.ProductName, _assemblyFileVersion == null ? versionInfo.ProductVersion : _assemblyFileVersion.ToString(), facade.Version); using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream, Encoding.Unicode, true)) { versionSerializer.WriteVerResource(writer); var resource = new Win32Resource(); resource.Id = 1; resource.TypeId = 0x10; resource.Data = stream.ToArray().ToList(); facade.Win32Resources.Add(resource); } }