public static void RegisterDdexProviders() { //TODO Consider removing this try { var ver = SqlCeToolboxPackage.VisualStudioVersion.ToString(1); if (SqlCeToolboxPackage.VisualStudioVersion >= new Version(12, 0)) { DdexRegistry.AddDdex4Registrations(ver); DdexRegistry.AddDdex35Registrations(ver); } if (SqlCeToolboxPackage.VisualStudioVersion == new Version(11, 0)) { DdexRegistry.AddDdex35Registrations(ver); } } catch (Exception ex) { SendError(ex, DatabaseType.SQLServer); } }
private static void RegisterDdex35Provider(bool force) { string ver = SqlCeToolboxPackage.VisualStudioVersion.ToString(1); try { if (force) { DdexRegistry.AddDdex35Registrations(ver); } else { //Check if provider keys exists using (var key = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry32)) { var ddexKey = key.OpenSubKey(string.Format(@"SOFTWARE\Microsoft\VisualStudio\{0}.0_Config\DataProviders\{{303D8BB1-D62A-4560-9742-79C93E828222}}", ver)); if (ddexKey == null) { DdexRegistry.AddDdex35Registrations(ver); } } } var ddexDllPath = DdexDllPath(Ddex35Dll); if (!string.IsNullOrEmpty(ddexDllPath)) { Registry.SetValue(string.Format(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\{0}.0_Config\DataProviders\{{303D8BB1-D62A-4560-9742-79C93E828222}}", ver), "Codebase", ddexDllPath, RegistryValueKind.String); } } catch (Exception ex) { SendError(ex, DatabaseType.SQLServer); } }