/// <summary> /// Wait for windows to install drivers for new device and when device become available. /// </summary> private void StartCheckingIfInstalled() { while (_requestStop == false) { IsInstalled = _WMIQuery.GetStatusLevel(PNPID); if (IsInstalled || PNPID == null) { RequestStop(); } else { //Waiting for device to be installed } Thread.Sleep(1000); } if (IsInstalled == true) { //Device has been installed UpdateSetting(); if (ApplyPatch) { //apply patch to Realtek device, we do not care if it exists or not at this point InstallFromCD rtl = new InstallFromCD(); rtl.InstallRealtekPatch(); ApplyPatch = false; } } }