Server Installierbar machen?

  • VB.NET
  • .NET (FX) 4.0

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von J.Herbrich.

    Server Installierbar machen?

    Hallo,

    Ich habe ein Server Programm auf Basis der MultiServers Installiert. Schön und gut. Es verwendet in verschiedensten Subrutienen eine Datenbanck die über LinqToSQL (LTS)-Klassen bereit gestellt wird.

    Ich kann den Server auf den Entwicklungs Server wunderbar Starten und verwenden und auf anderen Rechern im Netzwerk ebenfalls. Der SQL-Server ist ja ereichbar^^.

    Jetzt müsste der Server aber auch auserhalb des Entwicklungs Netzwerkes laufen, dazu müsste ich beim Setup auf den Ziel Computer die Datenbanck Daten abfragen, auf den eingegebnenen Server nachsehen und dann gegebenen Falls die Datenbank darauf neu erstellen und einrichten. Nur habe ich kein Plan wie ich von Programm aus den Connection String ändern kann. Oder ihn gar selbst erstellen kann.

    Meine erste Idee währe es einfach mit String eine Function zu schreiben, der connection string ist ja recht leicht zu roduzieren. Aber die frage ist letzentlich ob ich die App.Config einfach so einlesen kann und daran rummanipulieren kann.

    Dass Server Programm müsste diese Datei zwar speeren aber selbst kann es ja zugreifen (So die Teorie), aber ich glaube da kommt nur eine Dicke Excetion auf mich zu.

    Deswegen die Frage wie ihr sowas Realisieren würded. Also kurtz und knapp Datenbank einrichtung bei der Installation. Folge Server würden sich dann automatisch über ein eigenes Protokoll einrichten und die DB Daten Replizieren.

    LG, J.Herbrich
    Die App Config kannst du ändern. Jedoch würde ich das nicht während der Laufzeit des Programms machen. Aber den ConnectionString in der App.config anzupassen, ist so vorgesehen. Deshalb liegt er ja auch in einer simplen Xml-Datei.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Der Plahn ist ja eigentlich bevor das eigentliche Programm Inizialisiert wird abzurüfen und dann gegebenen Falls einzugreifen.

    Dazu müsste ich ja auch sagen dass UI und ServerCore von einander getrennt sind, die kommunikation mit der UI läuft über NamedPipes.

    LG, J.Herbrich
    Ich bin mir nicht sicher ob ich dein Problem richtig verstanden habe, aber für sowas würde ich Präprozessordirektiven verwenden.

    C#-Quellcode

    1. string connectionString = string.Empty;
    2. #if DEBUG
    3. connectionString = "debug database"
    4. #elif
    5. connectionString = "release database"
    6. #end
    Hallo,

    Es geht nicht um Debugg da es nur einen einzigen SQL-Server und somit auch nur einen einigen CS giebt. Aber wen das Programm ausgeliefert wird muss ich ja letzentlich den Server beim Kunden oder bei wehm auch immer umstellen können auf sein System und auf sein Netzwerk. !

    LG, J.Herbrich
    Ja sag ich ja. Die App Konfig bearbeiten. Bei Servern ist es durchaus legitim, das in Form einer Installationsanleitung den Server-Admin manuell machen zu lassen.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Ich arbeite mit einigen Programmen die dafür extra Tools besitzen. Also eine eigenständige .exe wo der Benutzer über Combobox bzw. Textbox IP Adresse und Datenbank Name eintragen kann.
    Wenn die Datenbank nicht nicht vorhanden ist werden dann dementsprechend vordefinierte sql Scripts ausgeführt.

    Villt. hilft dir das weiter

    MFG
    Hallo,

    SQL-Script? Haben LinqToSQL Klassen nicht eine Function CreateDatabase? Die könnte ich doch eigentlich nutzen um die DB auf denn Server zu erstellen oder nicht?

    LG, J.Herbrich
    Verwendet man für normal eig. SQL Scripts. Zumindest aus meiner Erfahrung.
    Grund ist alleine schon die Tatsache, dass du sonst den DB-Benutzer welcher dein Programm verwendet mit unnötig vielen Rechten ausstatten musst. Das werden die garantiert bei weitem nicht alle Server-Admins erlauben.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Naja, man braucht ja nur die Rechte eine Datenbank zu erstellen und das owner recht über die neue Datenbank. Und warum sollte man sowas nicht erlaubn.

    LG, J.Herbrich