Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Konfiguration einer MSDE während der Installation


4 replies to this topic

BlauBärchen

BlauBärchen
  • Members
  • 12 posts

Posted 08 December 2004 - 12:47

Hallo,

ich benutze InstallShield 10.5 (bin ziemlich neu bei InstallShield) und habe folgendes Problem:
ich installiere auf dem Zielrechner eine neue Instanz der MSDE-Datenbank.
Nun möchte ich über ein SQL-Skript zwei Datenbanken samt Tabellen in dieser Instanz erstellen und dann ODBC-Verbindungen auf eben diese erzeugten Datenbanken einrichten.


Mein bisheriges Vorgehen war folgendermaßen:
- Hinzufügen des MSDE- und ODBC-Objektes zu einem eigenen Feature
- unter 'SQL-Scripts' eine neue SQL-connection eingerichtet und darunter mein Skript eingefügt


Nun weiß ich nicht, wie ich weiter vorgehen soll. In der Dokumentation ist wenig hilfreiches zu dem Thema zu finden. Bisher tauchen bereits folgende Probleme auf:

1) bei der erstmaligen Installation wird die MSDE-Instanz ordnungsgemäß installiert; bei folgenden Installationsversuchen auf dem gleichen Rechner erscheint die Meldung 'the instance name specified is invalid', obwohl ich in den properties des MSDE-Objektes die Option 'Replace/Upgrade existing instance with the same name' abgeschaltet habe. Funktionieren tut das ganze dann erst wieder, wenn ich die Instanz von MSDE deinstalliert und die Dateien manuell (!) gelöscht habe.
Wie könnte ich dieses Problem lösen?

2) Ich habe keine Ahnung, wie ich mein SQL-Skript zum Erzeugen der Datenbank in der vorher installierten MSDE-Instanz ausführen könnte. Die Dokumentation bietet wenig brauchbares zu dem Thema und im Internet habe ich auch nichts gefunden.

3) Wie kann ich eine ODBC-Verbindung (System-DSN) auf die erzeugten Datenbanken einrichten?



Ich wäre sehr dankbar, wenn mir jemand hier mit diesen Problemen etwas weiterhelfen könnte.



Vielen Dank im Voraus
Peter

BlauBärchen

BlauBärchen
  • Members
  • 12 posts

Posted 10 December 2004 - 12:46

Hallo,

ich habe mich nun fast 3 Tage lang mit diesem Problem beschäftigt, habe diverse Foren abgegrast und keine Lösung dafür gefunden.
So sind wir zu dem Schluss gekommen, dass wir die benötigte Installation auch mit der InstallShield Professional 6.3, die wir seit längerem im Hause haben, erledigen können. Die MSDE-Installation werde ich, so wie die Dinge liegen, direkt über die setup.exe von MSDE mit einer angepassten setup.ini-Datei ausführen, wenn die betreffende Instanz noch nicht existiert.
Für das Erzeugen der Datenbanken und evtl. auch das Erzeugen der ODBC-Verbindungen werde ich eine kleine .exe in C++ schreiben, die vom Installer aufgerufen wird und meine SQL-Skripte verwendet.
Aufgrund dessen und der Tatsache, dass Language Packs nicht mehr erhältlich sind und wir die 'Premier'-Version erwerben müssten, um mehrsprachige Setups zu erstellen, werden wir die Version 10.5 zurückgeben und uns den Preis für das Upgrade auf 10.5 erstatten lassen. Ausserdem werden wir für die Zukunft nach Alternativen zum InstallShield-System suchen müssen.

Viele Grüße
Peter

bergermi

bergermi
  • Members
  • 34 posts

Posted 13 December 2004 - 10:39

Also ich hab das Problem nun so gelöst.

1. Die SQL-Server installation:
Mit der Instanz ist es möglich festzustellen ob der Datenbankserver bereits existiert :
CODE
RegDBGetKeyValueEx("SOFTWARE\\Microsoft\\Microsoft SQL Server\\"+svInstanz+"\\Setup","ProductCode",nTemp,sKey,nLength;

Ist der Server vorhanden und möchte man unbedingt die Instanz noch mal installieren kan man ja den SETUP Schalter -X verwenden. (Uninstall)
danach das Setup noch mal ausführen.
Solltest Du aber das MSDE Objekt benutzt haben dann kann ich Dir nur sagen dass ich bis jetzt noch KEIN Objekt gefunden habe das wirklich stabil läuft.
Ich mach das alles per Hand! (ist vielleicht auch nicht das Richtige aber besser angepasst)
Ach ja nicht vergessen die Datenbank nach der Installation zu starten denn das ist bei "händischer" installation nicht der Fall.
2. Die Datenbank installieren.
Üblicher weise befüllt man Datenbanken mit einem DUMP.
Ich mach das mit dem osql Befehl da ich viel zu faul bin um eine ADO oder ODBC Verbindung aufzubauen.
Also aus der Registry herausfinden wo das osql.exe sich befindet und dann mit den entsprechenden Parametern
CODE
bla\osql.exe -S SERVER\INSTANZ -U sa -P Passwort -i c:\tmp\sqldatei.sql

das SQL Skript einfügen.
Soll eine neue Datenbank verwendet werden vorher die alte Datenbank droppen.

So klappt das bei mir.
Michi
P.s: Ich stelle Dir gerne die Funktionen zur Verfügung wenn da noch interesse besteht.



BlauBärchen

BlauBärchen
  • Members
  • 12 posts

Posted 13 December 2004 - 14:40

Hallo, Michi,

vielen Dank für Deine Antwort, aber ich hab's jetzt schon soweit mit Version 6.3 zusammengezimmert, dass es läuft.
Es ist wirklich besser, alles per Hand zu machen.
Ich kann gar nicht glauben, dass ich so viel Zeit verplempert habe bei dem Versuch, mir das ganze mit der 10.5er 'zusammenzuklicksen'.

Na ja, ich glaube, diese Version kann ich guten Gewissens an den Absender zurückschicken; also für meine Zwecke kann ich keine Verbesserung an dieser Version erkennen. Und dass man die 'Premier'-Version kaufen muss, wenn man mehrsprachige Setups erstellen will, halte ich, gelinde gesagt, für eine Frechheit. Dann werden wir mal sehen, wie lange die 6.3er noch tut und uns dann eine Alternative suchen.

Das einzige, was mir noch Probleme bereitet, ist die Einrichtung der System-DSN für die ODBC-Verbindung (die brauche ich für meine Applikation später). Aber ich denke, das werde ich auch noch hinbekommen. smile.gif

Viele Grüße
Peter

Edited by BlauBärchen, 13 December 2004 - 14:43.


bergermi

bergermi
  • Members
  • 34 posts

Posted 14 December 2004 - 10:18

Da haben sich schon andere Leute Gedanken gemacht!
Ich glaube Du solltest die die InstallScriptBeispiele auf dieser Seite unter Databases nachsehen denn da ich sicher das ein oder andere Problem schon gelöst. biggrin.gif

Was die SoftwareQualität von Installshield betrifft kann ich Dir leider nur Recht geben.
Ich arbeite schon seit 6.x mit IS und hab nun DevStudio 9 in Deutsch doch leider muss ich immer wieder Abstürze hinnehmen oder seltsame Probleme wie das hängenbleiben von IS beim Installieren eines Childprozesses. ......

Antwort auf Fragen beim Support bekomme ich leider überhaupt nicht dies geht nur über dieses Forum oder über das von Installshield.

Versuch doch mal Informationen über ADO oder COM Objekte herauszufinden blink.gif .

Na ja was solls, so wie ich das sehe wird sich das Installshield bald mit dem VisualStudio .NET verbinden und zu gunsten von MSI in der Versenkung verschwinden.


Michi