private void InstallAdapter(DeviceInfo deviceInfo)
        {
            Cursor = System.Windows.Input.Cursors.Wait;

            try
            {
                var adapterInfos = ReadAgentAdapters();

                string id         = GetAvailableId();
                string deviceName = GetAvailableName(deviceInfo.Adapter);
                int    port       = GetAvailablePort();

                deviceInfo.DeviceName  = deviceName;
                deviceInfo.DeviceId    = id;
                deviceInfo.Uuid        = id;
                deviceInfo.AdapterPort = port;

                usedIds.Add(id);
                usedNames.Add(deviceName);
                usedPorts.Add(port);

                var adapterInfo = new AgentAdapterInfo();
                adapterInfo.DeviceName = deviceInfo.DeviceName;
                adapterInfo.Port       = port;

                adapterInfos.Add(adapterInfo);

                AgentConfigurationFile.WriteAdapters(adapterInfos);

                var node = AgentDevicesFile.CreateDeviceNode(deviceInfo);
                if (node != null)
                {
                    AgentDevicesFile.WriteDeviceNode(node);
                }

                CreateAdapterFiles(deviceInfo);

                ReadAdapters();
            }
            catch (Exception ex) { Console.WriteLine(ex.Message); }

            Cursor = System.Windows.Input.Cursors.Arrow;
        }