Laden...

Installer und Connection String

Erstellt von bonnet vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.876 Views
B
bonnet Themenstarter:in
107 Beiträge seit 2006
vor 18 Jahren
Installer und Connection String

Hallo,
ich verwende in meinen Programm einen Connection String, der in einer Konfigurationsdatei hinterlegt ist. Dieser ConnectionString ist für alle Nutzer dieser Datenbank gleich, da ich nur mit einen Datenbanknutzer arbeite und die Benutzerverwaltung vom Programm übernommen wird.
Zur Verteilung des Programms nutze ich das ClickAtOnce Feature von Visual Studio.

Nun zu meinen Problem:

Ich möchte einen verschlüsselten ConnectionString direkt in den Installer integrieren, so das die Nutzer bei der Installation keine Eingaben machen müssen.
Wenn ich allerdings die XML-Datei nach dem Deployment verändere funktioniert der Installer nicht mehr - da die Konfigurationsdatei verändert wurde.

Was gibt es da für Möglichkeiten?

Gibt es ein bereits fertiges Formular zum Erstellen eines Connection Strings wie das Visual Studio oder dem Bearbeiten einer .udl Datei, oder muss man dieses per Hand erstellen?

Kann mir jemand helfen?

Grüße
bonnet

3.728 Beiträge seit 2005
vor 18 Jahren
Installer Klasse

Deine Aussage ist etwas widersprüchlich: Die Benutzer sollen bei der Installation keine Eingaben machen müssen, aber Du fragst nach einem Form zur Auswahl einer Datenbankverbindung.

Bei Deinem Setup-Projekt kannst Du sogenannte "Benutzerdefinierte Aktionen" hinterlegen. Dabei handelt es sich um EXE-Dateien, die in bestimmten Phasen des Setups (z.B. Install oder Rollback) automatisch ausgeführt werden. Zusätzlich kann man bei diesen Aktion ankreuzen, ob die auszuführende EXE eine Installer Klasse hat. Ist dies der Fall, wird die Installer Klasse aus der EXE-Datei geladen und ausgeführt. Damit kann man die Installation direkt per C# Code steuern. Standardmäßig werden solche Installer Klassen bei Windows-Diensten verwendet, um per Setup den Dienst auf dem Zielcomputer zu registrieren.

In so einer Installer Klasse kannst Du auch Forms öffnen (damit Benutzer diverse Einstellungen eingeben können). Wie man eigene Installer Klassen schreibt, steht in Deiner Visual Studio Online-Hilfe und in der MSDN Library.

B
bonnet Themenstarter:in
107 Beiträge seit 2006
vor 18 Jahren

Vielen Dank für Deine Antwort, war im Urlaub und konnte daher nicht früher antworten.

Ich weiß nicht, aber ich glaube Installer Klassen sind nicht die Lösung meiner Probleme.

a) Nachdem ich mein Projekt publiziert habe möchte ich den Connection String nachträglich ändern, so dass gleich der richtige bei der Installation vorhanden ist. Allerdings möchte ich NICHT Visual Studio verwenden, so dass auch der Admin der Firma diese Änderung vornehmen kann.

Wenn ich den String unverschlüsselt in die Konfigurationsdatei schreibe und die Änderungen per Hand erledige, meldet der Installer einen Fehler (falsche Checksumme oder so) und verweigert seinen Dienst.

b) Gibt es ein fertiges Formular zur Erstellung eines Connection Strings (wie z.B. das Formular der .udl Datei, oder die Formulare die Visual Studio verwendet) - zum Auswählen von Dateien gibts ja auch das OpenDialog Formular.
Oder muss man die Funktionalität nachbauen.

Letzteres funktioniert zwar mehr oder minder, aber so gut wie das von M$ wird's nur mit erheblichen Aufwand. Mein Versuch dieses Delphi zu machen ging zwar, aber beispielsweise hab ich nie so viele SQL Server im Netz gefunden wie die Konkurrenz von Microsoft.

3.728 Beiträge seit 2005
vor 18 Jahren
Doch, das geht

Du kannst aus der Installer Klasse so ein Formular aufrufen (Wenn Du eines gebaut hast). Natürlich kannst Du auch auf Dateien zugreifen.

Die Installer Klasse ermöglicht Dir einfach, Code während einer Installation auszuführen. Was Du in diesem Code tust, bleibt Dir überlassen.

B
bonnet Themenstarter:in
107 Beiträge seit 2006
vor 18 Jahren

Ja, das ist schon klar. Aber ich möchte BEVOR ich die Installation beginne den Connection String ändern. Da das Programm auf recht vielen Terminals in einer Produktionshalle installiert ist und ich dem Administrator der Firma ersparen möchte, diesen bei jeder Installation einzugeben. Allerdings hat besagter Administrator kein Visual Studio zur Verfügung, daher suche ich nach einer Möglichkeit die Config Datei zu ändern, ohne das Projekt erneut zu publizieren.

Also scheint es kein vorgefrtigtes Formular zur Erstellung eines Connection Strings zu geben. Doch wieder selber bauen, schade.