Hallo,
ich habe hier eine .NET Anwendung, die verschiedene "fremde" Assemblies wie z.B. den
MySQL-Connector benötigt. Die muss ich ja bei der Weitergabe mitliefern bzw. der User muss sich die von
MySQL.org oder einer anderen Seite holen. So weit ist das ja klar.
Nun bietet mir Delphi die Möglichkeit im rechten Fenster unter Referenzen in dem aufklappenden Menü "Lokal kopieren" anzukreuzen (Oder im
OI). Dann kopiert mir mein Delphi die benötigten DLLs in das Anwendungsverzeichnis. Dann sollte das auch auf fremden Rechnern funktionieren.
Nur stellt sich mir zuerst die Frage, ob das auch erlaubt ist, einfach die
MySql.Data.dll (oder andere) mitauszuliefern!?
Das wäre die eine Möglichkeit, die andere wäre folgende:
In meiner Anwendung wird der
MySQL-Connector nur dann benötigt, wenn der User das auch will. Denn der User kann verschiedene Provider wählen. Provider für Oracle und den
SQL-Server bringt .NET ja automatisch mit. Wenn der User dann z.B. Oracle nimmt, braucht er den
MySQL-Connector nicht.
So viel zur Theorie
. Doch wie bringe ich meiner Anwendung bei keine
Exception zu werfen, wenn eben der
MySQL-Connector nicht installiert ist
Ich sehe momentan nur die Möglichkeit, den Provider dynamisch zu laden und da weiß ich noch nicht, wie das gehen soll bzw. wie ich dann z.B. den MysqlCommand etc. nutzen kann.
Ich kann zwar (wenn System.Reflections eingebunden ist) mit Assembly.Load eben solche laden, aber dann weiß ich nicht weiter
Mit welcher Methode mache ich das jetzt am besten?