protected void unregisterTypeLib(RegistryKey classes, ITypeLibAttributes reg) { using (classes) { using (RegistryKey tlbKey = classes.OpenSubKeyDeletion(TYPE_LIB)) { if (tlbKey != null) //NOTE: to be safe if can happen clean machine without any user specific installation tlbKey.DeleteSubKeyTree(reg.Guid.ToRegistry(), false); } } }
protected static void unregisterInProcServer(RegistryKey classes, ComClassInfo reg) { using (classes) { using (RegistryKey clsidKey = classes.OpenSubKeyDeletion(CLSID)) { if (clsidKey != null) //NOTE: to be safe if can happen clean machine without any user specific installation clsidKey.DeleteSubKeyTree(reg.Guid, false); } classes.DeleteSubKeyTree(reg.ProgId, false); } }
protected void unregisterInterface(RegistryKey classes, ComInterfaceInfo reg) { using (classes) { using (RegistryKey interfaceKey = classes.OpenSubKeyDeletion(INTERFACE)) { if (interfaceKey != null) //NOTE: to be safe if can happen clean machine without any user specific installation interfaceKey.DeleteSubKeyTree(reg.Guid, false); } } }