6

Sie suchen nach einer Möglichkeit, programmatisch oder anderweitig eine neue Instanz von SQL 2005 Express Edition zu einem System hinzuzufügen, auf dem bereits eine Instanz installiert ist. Traditionell läuft das Installationsprogramm von Microsoft wie in der folgenden Befehlszeile und es funktioniert. Das Ausführen des Befehls in meinem Installationsprogramm ist nicht das Problem, es geht eher darum, die 40 MB MS-SQL-Installationsprogramm zu verschieben, die ich nicht benötige, wenn SQL Express bereits installiert ist. Dies ist, was mein Installer derzeit ausführt:SQL 2005 Express Edition - Neue Instanz installieren

SQLEXPR32.EXE /qb ADDLOCAL=ALL INSTANCENAME=<instancename> SECURITYMODE=SQL SAPWD=<password> SQLAUTOSTART=1 DISABLENETWORKPROTOCOLS=0 

Ich brauche keine Hilfe mit diesem Befehl starten, sondern die entsprechende Art und Weise eine neue Instanz von SQL 2005 Express hinzuzufügen, ohne tatsächlich wieder das vollständige Installationsprogramm ausgeführt wird.

Ich würde sehr detailliert darüber gehen, warum ich das machen möchte, aber ich würde einfach alle langweilen. Es genügt zu sagen, dass die Fähigkeit, eine neue Instanz zu erstellen, ohne die Zeit, die für die Neuinstallation von SQL Express usw. benötigt wird, mir bei der Bereitstellung meiner Anwendung und des Installationsprogramms sehr helfen würde. Wenn es irgendeinen Unterschied macht, verwende ich eine Kombination aus NSIS und Advanced Installer für dieses Installationsprojekt.

Antwort

0

Nach Monaten/Jahren der Untersuchung scheint es, dass es nicht getan werden kann. Naja, ich denke, ich installiere jedes Mal neu, wenn ich eine neue Instanz möchte. Ich schätze, es ist, weil jede Instanz ihre eigene Dienstleistung ist.

0

Ich weiß nicht, wie man es mit einer API macht, aber wenn niemand eine bessere Lösung gibt, können Sie immer Process.Start() benutzen, um Ihre Befehlszeile wie gehabt auszuführen.

1

Es klingt wie eine Benutzerinstanz könnte Ihnen helfen. Wenn Sie über die MDF- und LDF-Dateien verfügen, können Sie eine Verbindung zu den Dateien herstellen, indem Sie SQL Server Express anweisen, eine Benutzerinstanz zu starten und die angegebene Datei an diese Instanz anzuhängen.

Dieses Artil http://msdn.microsoft.com/en-us/library/bb264564.aspx enthält eine gute Beschreibung, wie Sie sich auf die vorhandene SQL Server Express-Installation stützen können, um eine benutzerspezifische Instanz für die Dauer Ihrer Verbindung zu instanziieren.

Ich hoffe, es hilft.