ErikEJ / SqlCeToolbox

SQLite & SQL Server Compact Toolbox extension for Visual Studio, SSMS (and stand alone)
Other
844 stars 174 forks source link

Extension completely broken and crashes VS 2019 #890

Closed leo-stone closed 3 years ago

leo-stone commented 3 years ago

Hi there,

today I got surprised by the toolbox not working anymore. It got probably updated automatically. If I hit the add sqlite connection button, VS 2019 crashes.

image Version 4.7.691.0 - 1.718.194 downloads

SQL Server Compact 4.0 in GAC - No SQL Server Compact 4.0 DbProvider - No

SQL Server Compact 4.0 DDEX provider - No SQL Server Compact 4.0 Simple DDEX provider - Yes

SQL Server Compact 3.5 in GAC - No SQL Server Compact 3.5 DbProvider - No

SQL Server Compact 3.5 DDEX provider - No

Sync Framework 2.1 SqlCe 3.5 provider - No

SQLite ADO.NET Provider installed: 1.0.109.0 SQLite EF6 DbProvider in GAC - No System.Data.SQLite DDEX provider - No SQLite Simple DDEX provider - Yes

ErikEJ commented 3 years ago

Probably related to: https://github.com/ErikEJ/SqlCeToolbox/issues/887

In other words, try this: https://github.com/ErikEJ/SqlCeToolbox/issues/887#issuecomment-808858493

If that is the case, my only option is to revert to System.Data.Sqlite 109!

leo-stone commented 3 years ago

To me it appears, the release is missing the dll. Still defunct.

I renamed the mentioned dll, see the output now and compare:

Version 4.7.691.0 - 1.719.139 downloads

SQL Server Compact 4.0 in GAC - No SQL Server Compact 4.0 DbProvider - No

SQL Server Compact 4.0 DDEX provider - No SQL Server Compact 4.0 Simple DDEX provider - Yes

SQL Server Compact 3.5 in GAC - No SQL Server Compact 3.5 DbProvider - No

SQL Server Compact 3.5 DDEX provider - No

Sync Framework 2.1 SqlCe 3.5 provider - No

SQLite ADO.NET Provider installed: No SQLite EF6 DbProvider in GAC - No System.Data.SQLite DDEX provider - No SQLite Simple DDEX provider - Yes

ErikEJ commented 3 years ago

Sadly, as also mentioned in the related issue, it just means System.Data.SQLite is not installed in GAC on your machine.

But is it still broken now?

leo-stone commented 3 years ago

Yes still broken, System.Data.SQLite.dll is contained in the Package, but fails to load.... obviously

ErikEJ commented 3 years ago

Obviously

Why?

ErikEJ commented 3 years ago

The release works fine on my PC and reports 113 installed. I do not have System.Data.Sqlite in GAC.

leo-stone commented 3 years ago

I've now renamed your dll, e.g. 113, now I get following image

leo-stone commented 3 years ago

Obviously

Why?

because of the red error message?

ErikEJ commented 3 years ago

Restart VS / re-install extension?

Is the System.Data.SQLite.dll present in the %localappdata%\Microsoft\VisualStudio and which versions?

ErikEJ commented 3 years ago

You should not rename "my dll", rename the one on PrivateAssemblies !

leo-stone commented 3 years ago

I did both, first I renamed the one in Private Assemblies, and posted the result. Only later I've checked your dll, if it is there, or not, and then renamed it, to check behaviour...

Please, wich dll are you redistributing??? Because

image

Is this the correct dll? Because in PrivateAssemblies is

image

ErikEJ commented 3 years ago

I am distributing .113

ErikEJ commented 3 years ago

I have nothing to do with the PrivateAssemblies folder!

leo-stone commented 3 years ago

I know that, but you are redistributing SQLite.Interop.dll, can you maybe give me an previous release package, so i can compare?

ErikEJ commented 3 years ago

Previous versions contain the same dll (System.Data.SqLite.dll is the file name) - as you can see in source control history: https://github.com/ErikEJ/SqlCeToolbox/commits/master/src/GUI/lib/System.Data.SQLite.dll

ErikEJ commented 3 years ago

Do you have SQLite installed in GAC?

leo-stone commented 3 years ago

Do you have SQLite installed in GAC?

No

leo-stone commented 3 years ago

The dll you redistribute has dependencies, it needs ~~System.Data.SQLite.Core.113 which I don't have I have System.Data.SQLite.Core.109 via PrivateAssemblies So somehow your package should reference this dependencies so they get installed, no?~~ MSVCR100.dll

ErikEJ commented 3 years ago

Correct, System.Data.SQLite.dll version .113 is included with the extension, and installed within the extension folder, together with the other parts of the extensions in the folder: C:\Users\eej\AppData\Local\Microsoft\VisualStudio\16.0xxx

leo-stone commented 3 years ago

Yes, but it has a dependency that is not on my machine...., I suspect now

image

Anywaz, if I'm the only one with that issue, you should not think about it too much.....

ErikEJ commented 3 years ago

Ah, I see now - I take the file from: sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.113.0.zip

Maybe I should be using this: sqlite-netFx451-static-binary-bundle-Win32-2013-1.0.113.0.zip (which depends on a newer C++ runtime)

leo-stone commented 3 years ago

Yes, but it has a dependency that is not on my machine...., I suspect now

image

Anywaz, if I'm the only one with that issue, you should not think about it too much.....

Just, confirmed... installing https://www.microsoft.com/de-de/download/details.aspx?id=8328 fixes it.

ErikEJ commented 3 years ago

I will take a newer "build" onboard, thanks for your patience and debugging work.