namespace IronLicensing.Client; public partial class MachineIdentifier { private partial List GetMachineComponents() { var components = new List(); try { // Try to get Windows-specific identifiers // Note: Full WMI access requires additional setup components.Add(Environment.MachineName); components.Add(Environment.OSVersion.ToString()); // Use registry for additional machine identification using var key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Cryptography"); var machineGuid = key?.GetValue("MachineGuid")?.ToString(); if (!string.IsNullOrEmpty(machineGuid)) { components.Add(machineGuid); } } catch { // Fallback if registry access fails components.Add(Environment.MachineName); } return components; } }