SSDT 2012 crashes importing database - by Jamin Mace

Status : 

  Fixed<br /><br />
		This item has been fixed in the current or upcoming version of this product.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.

Sign in
to vote
ID 780171 Comments
Status Closed Workarounds
Type Bug Repros 4
Opened 2/27/2013 4:10:02 PM
Access Restriction Public


SSDT 2012 crashes importing database.

Operating system:  Windows 8 Enterprise
SSD Versions:  SSDT for visual studio 2012 December 2012 update

see thread for more information: 

Possting partial error from the eventlog:  

Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Security.Cryptography.CryptographicException
   at Microsoft.VisualStudio.Data.DataProtection.DecryptString(System.String)
   at Microsoft.VisualStudio.Data.Tools.Design.Core.Common.SqlClient.ServerExplorerConnection.get_DisplayNameWithDatabase()
   at Microsoft.VisualStudio.Data.Tools.Package.UI.DatabaseConnectionControl+ConnectionItem.Initialize(Microsoft.VisualStudio.Data.Tools.Design.Core.Common.SqlClient.ServerExplorerConnection)
   at Microsoft.VisualStudio.Data.Tools.Package.UI.DatabaseConnectionControl.PopulateDatabaseCombo()
   at Microsoft.VisualStudio.Data.Tools.Package.UI.DatabaseConnectionControl.DatabaseConnectionControl_Load(System.Object, System.EventArgs)
   at System.Windows.Forms.UserControl.OnLoad(System.EventArgs)
   at System.Windows.Forms.UserControl.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean)
   at System.Windows.Forms.Control.CreateControl(Boolean)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.ContainerControl.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.UnsafeNativeMethods.IntCreateWindowEx(Int32, System.String, System.String, Int32, Int32, Int32, Int32, Int32, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Object)
   at System.Windows.Forms.UnsafeNativeMethods.CreateWindowEx(Int32, System.String, System.String, Int32, Int32, Int32, Int32, Int32, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Object)
   at System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreateParams)
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Control.get_Handle()
Sign in to post a comment.
Posted by Daniel A. Schilling on 4/14/2014 at 8:29 AM
At a minimum, a fix for this should include handling this exception more gracefully - perhaps by simply excluding the corrupted entries from the MRU list presented to the user. In its current state, a corrupted MRU entry makes the SSDT Schema Compare screen completely unusable because clicking "Select Source..." crashes Visual Studio. The user must manually edit the Windows registry to restore SSDT to a usable state. Excluding the offending entries from the dialog would be just a minor but necessary inconvenience, but it would still be usable.

Figuring out and fixing the problem that causes the MRU list to become corrupted would be good, but less important than handling the exception correctly.
Posted by Daniel A. Schilling on 4/14/2014 at 8:15 AM
This is still NOT fixed. I just ran into this problem again, now with VS 2013 Premium (12.0.30110.00 Update 1) + SSDT 12.0.30919.1 on Windows 8.1 Pro. Deleting the entries under "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\SSDT\ConnectionMruList" fixes it.
Posted by Daniel A. Schilling on 9/5/2013 at 7:59 AM
This is NOT fixed. "devenv /setup" did not fix it, and installing the latest August 2013 SSDT did not fix it either.

The workaround that Ryan posted, deleting all registry entries under "HKCU\Software\Microsoft\VisualStudio\11.0\SSDT\ConnectionMruList" works, and now I'm back in business.

Please correct the status of this Connect issue. The incessant closing of issues that in reality are not fixed simply communicates to your users that you don't care about them.
Posted by Ryan K. Riehle on 5/5/2013 at 9:06 AM
This is marked as fixed. I am getting this same exact issue. Where can I get the patch ?
Posted by Microsoft on 3/4/2013 at 2:43 PM
To get around this try "devenv /setup". There appears to be a serialized, hashed connection string in your registry causing a crypto error. If this doesn't fix it I'd need to use sysinternals registry watcher to figure out where that encrypted string is coming from and then remove it from the registry manually.
Posted by Jamin Mace on 2/28/2013 at 6:50 PM
Do you have any workaround to offer while waiting on the next release?

We have been using these projects in production and need a hotfix or something meanwhile
Posted by Microsoft on 2/28/2013 at 6:22 PM
Thanks for reporting this. A fix will be available with our next release (after December 2012).