public static List <Thread> LoadBigItems() { List <Thread> threads = new List <Thread>(); foreach (KeyValuePair <string, subKey> kv in bigKeys) { LoadRegHive lrh = new LoadRegHive(kv.Key, kv.Value); Thread th = new Thread(new ThreadStart(lrh.Load)); th.Start(); threads.Add(th); } return(threads); }
public static List <Thread> LoadRegHives() { Dictionary <string, subKey> keys = new Dictionary <string, subKey>() { //this one will be lazy loaded // {@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components",null }, { @"HKEY_CLASSES_ROOT\Installer\Products", new subKey("SourceList", "PackageName") }, { @"HKEY_CLASSES_ROOT\Installer\Patches", new subKey("SourceList", "PackageName") }, { @"HKEY_CLASSES_ROOT\Installer\Dependencies", null }, { @"HKEY_CLASSES_ROOT\Installer\Features", null }, { @"HKEY_CLASSES_ROOT\Installer\UpgradeCodes", null }, { @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products", null }, { @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches", null }, { @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes", null }, //COM+ related { @"HKEY_CLASSES_ROOT\Wow6432Node\CLSID", new subKey("InProcServer32", "") }, { @"HKEY_CLASSES_ROOT\CLSID", new subKey("InProcServer32", "") }, { @"HKEY_CLASSES_ROOT\Wow6432Node\TypeLib", null }, { @"HKEY_CLASSES_ROOT\TypeLib", null }, { @"HKEY_CLASSES_ROOT\Wow6432Node\Interface", null }, { @"HKEY_CLASSES_ROOT\Interface", null }, }; List <Thread> threads = new List <Thread>(); foreach (KeyValuePair <string, subKey> kv in keys) { LoadRegHive lrh = new LoadRegHive(kv.Key, kv.Value); Thread th = new Thread(new ThreadStart(lrh.Load)); th.Start(); threads.Add(th); } return(threads); }