title: How do I set the absolute path for a assembly containing Database connector? MySQL Connector 6.4.3 with Entity Framework 4.1
body: <p>Reason why: <a href="http://bugs.mysql.com/bug.php?id=61933" rel="nofollow">http://bugs.mysql.com/bug.php?id=61933</a></p>
  
  <p>I recompiled the connector from source, incremented tit a version to 6.4.3.1, but now this (possibly) trivial question blocks me.</p>
  
  <p>How do I set the full provider name in the connection string in app.config? I have the official 6.4.3 connector installed.</p>
  
  <p>The error I get is when I add a new entity data model, and select from an existing database. This I traced to the above linked (silly) bug.</p>
  
  <p>I couldn't find a better title for this question.</p>
  
  <hr>
  
  <h2>Microsoft Visual Studio</h2>
  
  <p>An error occurred while connecting to the database. The database might be unavailable. An exception of type 'System.Data.ProviderIncompatibleException' occurred. The error message is: 'The provider did not return a ProviderManifestToken string.</p>
  
  <h2>The inner exception caught was of type 'System.FormatException', with this error message: 'Input string was not in a correct format.'.'.</h2>
  
  <h2>OK</h2>
  
  <hr>
  
  <h2>Solution</h2>
  
  <ol>
  <li><p>Download MySQL Connector/6.4.3 sources, and extract it.</p></li>
  <li><p>In the MySql.Data.Entity project, replace...:</p></li>
  <li><p>(ProviderServices.cs:188) With: double version = double.Parse(connection.ServerVersion.Substring(0, 3), System.Globalization.CultureInfo.InvariantCulture);</p></li>
  <li><p>(ProviderManifest.cs:73) With: double version = double.Parse(manifestToken, System.Globalization.CultureInfo.InvariantCulture);</p></li>
  <li><p>Create a new sign key and name it ConnectorNet (same name as in the assemblyinfo.cs)</p></li>
  <li><p>Add .1 to the AssemblyVersion in AssemblyInfo.cs in the MySql.Data project, this 1 file is shared with the rest: [assembly: AssemblyVersion("6.4.3.1")]</p></li>
  <li><p>Put Release as target configuration, you can also disable the .Tests projects from being built.</p></li>
  <li><p>As admin, install them with gacutil. <strong>Here you also get the public key token.</strong></p></li>
  <li><p>Locate Machine.config note it is important to know what .NET fx you compiled the project(s) to use.</p></li>
  <li><p>Search for DbProviderFactories, and comment out the existing MySQL Data Provider, copy it and replace in the duplicate entry, by adding the .1 in version and the public key token.</p></li>
  </ol>
  
  <pre>
  &lt;!-- 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.4.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" / -->
  
  &lt;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.4.3.1, Culture=neutral, PublicKeyToken=XXXXXXXXXXXXXXX" />
  </pre>