public void AddCe35Database(object sender, ExecutedRoutedEventArgs e) { // http://www.mztools.com/articles/2007/MZ2007011.aspx if (!DataConnectionHelper.DdexProviderIsInstalled(new Guid(Resources.SqlCompact35Provider))) { EnvDteHelper.ShowError("The version 3.5 Visual Studio DDEX provider is not installed, cannot add connection"); return; } try { var objIVsDataConnectionDialogFactory = _package.GetServiceHelper(typeof(IVsDataConnectionDialogFactory)) as IVsDataConnectionDialogFactory; if (objIVsDataConnectionDialogFactory == null) { return; } var objIVsDataConnectionDialog = objIVsDataConnectionDialogFactory.CreateConnectionDialog(); objIVsDataConnectionDialog.AddAllSources(); objIVsDataConnectionDialog.SelectedSource = new Guid("130BADA6-E128-423c-9D07-02E4734D45D4"); objIVsDataConnectionDialog.SelectedProvider = new Guid(Resources.SqlCompact35Provider); if (objIVsDataConnectionDialog.ShowDialog() && objIVsDataConnectionDialog.SelectedProvider == new Guid(Resources.SqlCompact35Provider)) { DataConnectionHelper.SaveDataConnection(_package, objIVsDataConnectionDialog.EncryptedConnectionString, DatabaseType.SQLCE35, new Guid(Resources.SqlCompact35Provider)); var control = _parentWindow.Content as ExplorerControl; control?.BuildDatabaseTree(); DataConnectionHelper.LogUsage("DatabasesAddCe35Database"); } objIVsDataConnectionDialog.Dispose(); } catch (Exception ex) { DataConnectionHelper.SendError(ex, DatabaseType.SQLCE35); } }
public bool VsSupportsSimpleDdex4Provider() { return((VisualStudioVersion >= new Version(12, 0)) && (DataConnectionHelper.DdexProviderIsInstalled(new Guid(Resources.SqlCompact40PrivateProvider))) && (DataConnectionHelper.IsV40Installed()) && (DataConnectionHelper.IsV40DbProviderInstalled())); }
public bool VsSupportsSimpleDdex35Provider() { return(VsSupportsEf6() && (DataConnectionHelper.DdexProviderIsInstalled(new Guid(Resources.SqlCompact35PrivateProvider))) && (DataConnectionHelper.IsV35Installed()) && (DataConnectionHelper.IsV35DbProviderInstalled())); }
public void AddCe40Database(object sender, ExecutedRoutedEventArgs e) { // http://www.mztools.com/articles/2007/MZ2007011.aspx if (!DataConnectionHelper.DdexProviderIsInstalled(new Guid(Resources.SqlCompact40Provider))) { EnvDteHelper.ShowError("The version 4.0 Visual Studio DDEX provider is not installed, cannot add connection"); return; } try { var objIVsDataConnectionDialogFactory = _package.GetServiceHelper(typeof(IVsDataConnectionDialogFactory)) as IVsDataConnectionDialogFactory; if (objIVsDataConnectionDialogFactory != null) { var objIVsDataConnectionDialog = objIVsDataConnectionDialogFactory.CreateConnectionDialog(); objIVsDataConnectionDialog.AddAllSources(); objIVsDataConnectionDialog.SelectedSource = new Guid("34A4B3E8-C54D-466F-92EA-E5814B97CA43"); objIVsDataConnectionDialog.SelectedProvider = new Guid(Resources.SqlCompact40Provider); if (objIVsDataConnectionDialog.ShowDialog() && objIVsDataConnectionDialog.SelectedProvider == new Guid(Resources.SqlCompact40Provider)) { DataConnectionHelper.SaveDataConnection(_package, objIVsDataConnectionDialog.EncryptedConnectionString, objIVsDataConnectionDialog.DisplayConnectionString, DatabaseType.SQLCE40, new Guid(Resources.SqlCompact40Provider)); var control = _parentWindow.Content as ExplorerControl; control?.BuildDatabaseTree(); DataConnectionHelper.LogUsage("DatabasesAddCe40Database"); } objIVsDataConnectionDialog.Dispose(); } } catch (Exception ex) { DataConnectionHelper.SendError(ex, DatabaseType.SQLCE40, false); } }
public void RemoveDatabaseConnection(object sender, ExecutedRoutedEventArgs e) { try { var databaseInfo = ValidateMenuInfo(sender); if (databaseInfo == null) { return; } if (databaseInfo.DatabaseInfo.FromServerExplorer) { bool providerInstalled = true; var provider = new Guid(Resources.SqlCompact40Provider); if (databaseInfo.DatabaseInfo.DatabaseType == DatabaseType.SQLCE35) { provider = new Guid(Resources.SqlCompact35Provider); } if (databaseInfo.DatabaseInfo.DatabaseType == DatabaseType.SQLite) { provider = new Guid(Resources.SqlitePrivateProvider); } providerInstalled = DataConnectionHelper.DdexProviderIsInstalled(provider); if (!providerInstalled) { if (databaseInfo.DatabaseInfo.DatabaseType == DatabaseType.SQLCE40) { provider = new Guid(Resources.SqlCompact40PrivateProvider); providerInstalled = DataConnectionHelper.DdexProviderIsInstalled(provider); } if (!providerInstalled) { EnvDteHelper.ShowError("The DDEX provider is not installed, cannot remove connection"); return; } } DataConnectionHelper.RemoveDataConnection(package, databaseInfo.DatabaseInfo.ConnectionString, provider); } else { DataConnectionHelper.RemoveDataConnection(databaseInfo.DatabaseInfo.ConnectionString); } var control = _parentWindow.Content as ExplorerControl; if (control != null) { control.BuildDatabaseTree(); } DataConnectionHelper.LogUsage("DatabaseRemoveCe"); } catch (Exception ex) { DataConnectionHelper.SendError(ex, DatabaseType.SQLCE35); } }
public bool VsSupportsDdex35() { return(Properties.Settings.Default.PreferDDEX && DataConnectionHelper.DdexProviderIsInstalled(new Guid(Resources.SqlCompact35Provider))); }
private void Window_Loaded(object sender, RoutedEventArgs e) { if (SqlCeToolboxPackage.VisualStudioVersion < new Version(11, 0)) { DDEXButton.Visibility = Visibility.Collapsed; } BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += bw_DoWork; bw.RunWorkerCompleted += (s, ea) => { Version.Text = "Version " + Assembly.GetExecutingAssembly().GetName().Version + " " + ea.Result.ToString(); }; bw.RunWorkerAsync(); Background = VsThemes.GetWindowBackground(); Version.Text = "Version " + Assembly.GetExecutingAssembly().GetName().Version; txtStatus.Text = "SQL Server Compact 4.0 in GAC - "; try { Assembly asm4 = Assembly.Load("System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"); FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(asm4.Location); string version = fvi.FileVersion; txtStatus.Text += string.Format("Yes - {0}\n", version); } catch (FileNotFoundException) { txtStatus.Text += "No\n"; } txtStatus.Text += "SQL Server Compact 4.0 DbProvider - "; try { System.Data.Common.DbProviderFactories.GetFactory(SqlCeToolbox.Resources.SqlCompact40InvariantName); txtStatus.Text += "Yes\n"; } catch (System.Configuration.ConfigurationException) { txtStatus.Text += "No\n"; } catch (ArgumentException) { txtStatus.Text += "No\n"; } txtStatus.Text += "\nSQL Server Compact 4.0 DDEX provider - "; try { if (DataConnectionHelper.DdexProviderIsInstalled(new Guid(SqlCeToolbox.Resources.SqlCompact40Provider))) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } txtStatus.Text += "SQL Server Compact 4.0 Simple DDEX provider - "; try { if (DataConnectionHelper.DdexProviderIsInstalled(new Guid(SqlCeToolbox.Resources.SqlCompact40PrivateProvider))) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } var tempFile40 = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); var tempFile35 = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); try { var helper = DataConnectionHelper.CreateEngineHelper(DatabaseType.SQLCE40); var conn40 = string.Format("Data Source={0}", tempFile40); helper.CreateDatabase(conn40); txtStatus.Text += "SQL Server Compact 4.0 Engine test: PASS!\n"; } catch { txtStatus.Text += "SQL Server Compact 4.0 Engine test: FAIL!\n"; } txtStatus.Text += "\n\nSQL Server Compact 3.5 in GAC - "; var sqlce35Ver = new Version(0, 0, 0); try { var asm35 = Assembly.Load("System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"); var fvi = FileVersionInfo.GetVersionInfo(asm35.Location); sqlce35Ver = new Version(fvi.FileVersion); txtStatus.Text += string.Format("Yes - {0}\n", sqlce35Ver); } catch (FileNotFoundException) { txtStatus.Text += "No\n"; } if (sqlce35Ver > new Version(0, 0, 0) && sqlce35Ver < new Version(3, 5, 8080)) { txtStatus.Text += "(Too old version installed, update to 3.5 SP2)\n"; } txtStatus.Text += "SQL Server Compact 3.5 DbProvider - "; try { System.Data.Common.DbProviderFactories.GetFactory(SqlCeToolbox.Resources.SqlCompact35InvariantName); txtStatus.Text += "Yes\n"; } catch (System.Configuration.ConfigurationException) { txtStatus.Text += "No\n"; } catch (ArgumentException) { txtStatus.Text += "No\n"; } txtStatus.Text += "\nSQL Server Compact 3.5 DDEX provider - "; try { if (DataConnectionHelper.DdexProviderIsInstalled(new Guid(SqlCeToolbox.Resources.SqlCompact35Provider))) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } txtStatus.Text += "SQL Server Compact 3.5 Simple DDEX provider - "; try { if (DataConnectionHelper.DdexProviderIsInstalled(new Guid(SqlCeToolbox.Resources.SqlCompact35PrivateProvider))) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } try { var helper = DataConnectionHelper.CreateEngineHelper(DatabaseType.SQLCE35); var conn35 = string.Format("Data Source={0}", tempFile35); helper.CreateDatabase(conn35); txtStatus.Text += "SQL Server Compact 3.5 Engine test: PASS!\n"; } catch { txtStatus.Text += "SQL Server Compact 3.5Engine test: FAIL!\n"; } txtStatus.Text += "\n\nSync Framework 2.1 SqlCe 3.5 provider - "; if (DataConnectionHelper.IsSyncFx21Installed()) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } txtStatus.Text += "\n\nSQLite ADO.NET Provider included: "; try { Assembly asm = Assembly.Load("System.Data.SQLite"); txtStatus.Text += string.Format("{0}\n", asm.GetName().Version); } catch (FileNotFoundException) { txtStatus.Text += "No\n"; } txtStatus.Text += "SQLite EF6 DbProvider in GAC - "; try { if (DataConnectionHelper.IsSqLiteDbProviderInstalled()) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } try { if (File.Exists(tempFile40)) { File.Delete(tempFile40); } if (File.Exists(tempFile35)) { File.Delete(tempFile35); } } catch { // ignored } }
private void Window_Loaded(object sender, RoutedEventArgs e) { var bw = new BackgroundWorker(); bw.DoWork += bw_DoWork; bw.RunWorkerCompleted += (s, ea) => { Version.Text = "Version " + Assembly.GetExecutingAssembly().GetName().Version + " " + ea.Result.ToString(); }; bw.RunWorkerAsync(); Background = VsThemes.GetWindowBackground(); Version.Text = "Version " + Assembly.GetExecutingAssembly().GetName().Version; txtStatus.Text = "SQL Server Compact 4.0 in GAC - "; try { var version = new SqlCeHelper4().IsV40Installed(); if (version != null) { txtStatus.Text += string.Format("Yes - {0}\n", version); } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } txtStatus.Text += "SQL Server Compact 4.0 DbProvider - "; try { System.Data.Common.DbProviderFactories.GetFactory(SqlCeToolbox.Resources.SqlCompact40InvariantName); txtStatus.Text += "Yes\n"; } catch { txtStatus.Text += "No\n"; } txtStatus.Text += "SQL Server Compact 4.0 Simple DDEX provider - "; try { if (DataConnectionHelper.DdexProviderIsInstalled(new Guid(SqlCeToolbox.Resources.SqlCompact40PrivateProvider))) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } txtStatus.Text += "\n\nSQL Server Compact 3.5 in GAC - "; try { var version = new SqlCeHelper().IsV35Installed(); if (version != null) { txtStatus.Text += string.Format("Yes - {0}\n", version); } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } txtStatus.Text += "SQL Server Compact 3.5 DbProvider - "; try { System.Data.Common.DbProviderFactories.GetFactory(SqlCeToolbox.Resources.SqlCompact35InvariantName); txtStatus.Text += "Yes\n"; } catch { txtStatus.Text += "No\n"; } txtStatus.Text += "\n\nSync Framework 2.1 SqlCe 3.5 provider - "; if (DataConnectionHelper.IsSyncFx21Installed()) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } txtStatus.Text += $"\n\nSQLite ADO.NET Provider used: {Helpers.RepositoryHelper.SqliteEngineVersion}\n"; txtStatus.Text += "SQLite EF6 DbProvider in GAC - "; try { if (DataConnectionHelper.IsSqLiteDbProviderInstalled()) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } txtStatus.Text += "System.Data.SQLite DDEX provider - "; try { if (DataConnectionHelper.DdexProviderIsInstalled(new Guid(SqlCeToolbox.Resources.SQLiteProvider))) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } txtStatus.Text += "SQLite Simple DDEX provider - "; try { if (DataConnectionHelper.DdexProviderIsInstalled(new Guid(SqlCeToolbox.Resources.SqlitePrivateProvider))) { txtStatus.Text += "Yes\n"; } else { txtStatus.Text += "No\n"; } } catch { txtStatus.Text += "No\n"; } }