views:

816

answers:

2

HI COMUNITY!!!!

I want to use L2E since it s very convenient to my company's apps, I created a demo project, the demo does run on every machine but when I, lets say, press a button that has some code that uses the entity I get this error:

specified store provider cannot be found in the configuration, or is not valid.

note that I get this error only on machines that does not have VS2008 installed, on these machines (the ones with VS2008) the demo works well. any advice is appreciated.

I am using MySql server with Mysql Conector 6.3 and the model is created with ADO.Net entitiy model.

EDIT

here is the complete error trace:

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: The specified store provider cannot be found in the configuration, or is not valid. ---> System.ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.
   at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
   at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
   --- End of inner exception stack trace ---
   at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
   at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
   at System.Data.EntityClient.EntityConnection..ctor(String connectionString)
   at System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)
   at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
   at Projects.projectsEntities..ctor()
   at Projects.frmProjecstMain.btnGenerarProyectoDeGarantias_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3603 (GDR.050727-3600)
    CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Projects
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Documents%20and%20Settings/jessica.carreon/Local%20Settings/Apps/2.0/1MLH514G.07M/RGBATG69.8AR/proj..tion_b0cb148e1dc400e0_0001.0000_738d35d08c548573/Projects.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
MySql.Data
    Assembly Version: 6.3.0.0
    Win32 Version: 6.3.0.0
    CodeBase: file:///C:/Documents%20and%20Settings/jessica.carreon/Local%20Settings/Apps/2.0/1MLH514G.07M/RGBATG69.8AR/proj..tion_b0cb148e1dc400e0_0001.0000_738d35d08c548573/MySql.Data.DLL
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3082 (QFE.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data.Entity
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.1 built by: SP
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Data.Entity/3.5.0.0__b77a5c561934e089/System.Data.Entity.dll
----------------------------------------
System.Core
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.1 built by: SP
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.EnterpriseServices
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

REMOVED APP.CONFIG... BELO RULZ

+2  A: 

Check your app.config file the entity model connection has to point to the right server, the server must be accessible (i.e. your security settings have to be correct and your network set up right). We need more information about your environment. Right now I can only assume you don't know how to connect to a server from your Windows application.

Update: Does this solve your problem? http://www.devart.com/forums/viewtopic.php?t=13286

Richard Hein
I am doing this to MySql, all my projects currently use datasets, the server is visible and security settings ar OK.
Luiscencio
Are there any compiler warnings or errors (and yet it completes compilation) at all when you build, or during design time of your entity model? This is just to exclude one possibility.
Richard Hein
That it is targeting MySql is probably significant....
Richard Hein
how 'significant'? no there are no warnings about this, only unreachable code...
Luiscencio
I'm thinking on your dev boxes you have the MySQL assemblies registered in the GAC or otherwise easily found by the CLR, but on your other machines you'll have to ensure those assemblies are loaded correctly. You configuration file must have some section that is pointing to an assembly that it cannot find. Did you try stepping through the code with Debug - Exceptions - CLR Exceptions Thrown checked? Then see if there's an internal file not found exception or something like that.
Richard Hein
Note that often in app.config files when something is incorrect, i.e. a public key token or whatever, it will end up saying the configuration is invalid, but not bubble up the file not found exception.
Richard Hein
Also, if you debug on the machine where it works, break right where the exception would be thrown, and check Debug - Windows - Modules and check the paths/versions/tokens on all the MySql related dlls. Make sure they exist in corresponding locations on the machines you are deploying too.
Richard Hein
It also may be as simple as setting Copy Local = true for CoreLab.MySql.Entity.dll, like the guy ends up doing in the link I provided.
Richard Hein
I am not using corelab, I am using ADO
Luiscencio
Same principle, same problem. Instead of Corelab.MySql.Entity.dll, look for MySql.Data and MySql.Data.Entity.dll, in the stack trace in your question, there is only MySql.Data, and it's in your LocalSettings folder. It's not deployed properly. Set copy local = true for both those assemblies in your project. If that doesn't work then there must be an installation required for the provider (which will probably put it in the GAC).
Richard Hein
do you think that installing the connector on user machines will solve this?
Luiscencio
Most definitely, but you may not have to install it, you might just have to use copy local = true and ensure they are deployed (i.e. if you have a setup project, make sure those MySql dlls get in there and target the GAC installation folder). If it's faster for you to install the connector, try that, and at least you'll know that the dlls are missing/in the wrong place etc....
Richard Hein
nope, maybe I need to add the provider to the app.config, can you help me out with this? the dlls are deploying correctly.
Luiscencio
Your app.config is completely missing everything to do with the provider ... check the app.config you have in your project, it must be different. I am not familiar with all the specific sections. Your deployed app.config file must be totally different than your project app.config.
Richard Hein
Try this but make sure the key token/version etc... is correct, I am just copying this from some place else .... <system.data> <DbProviderFactories> <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </DbProviderFactories> </system.data>
Richard Hein
thanks, I tried this but maybe I missed something, I just copied it, put the version and token... it works... I love you... not really.. still you deserve half my rep...
Luiscencio
LOL, well that's good. Cheers!
Richard Hein
A: 

Hey,

Entity Framework uses a custom formatted connection string, so you have to ensure it points to the correct database. The machines also have .NET 3.5 SP 1 installed too, right?

What kind of database are you targeting?

Brian
I am doing this to MySql, all my projects currently use datasets, the server is visible and security settings ar OK.
Luiscencio
yes they do have .net 3.5 sp1
Luiscencio