2012-05-23 5 views
5

Ich habe eine WinForms-Anwendung, die über ClickOnce bereitgestellt wurde und eine Voraussetzung für SQL Server 2005 Express hat. Ich möchte das zu SQL Server 2008 R2 Express ändern.Aktualisieren der SQL-Instanz über ClickOnce

ich am package.xml für SQL Server 2008 R2 Express war auf der Suche und bemerkte die Linien:

<!-- Defines an upgrade installation (x86) --> 
-<Command Arguments="/q /hideconsole /action=Upgrade /instancename=SQLEXPRESS 
        /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck" 
      PackageFile="SQLEXPR32_x86_ENU.EXE" 
      EstimatedInstallSeconds="420" EstimatedInstalledBytes="225000000"> 

Diese , dass ein Upgrade möglich ist, scheint zu implizieren. Beim Versuch, dies auszuprobieren, scheiterte ich jedoch mit der Aufforderung, die vorhandene SQLEXPRESS Instanz zu deinstallieren.

Weiß jemand, ob das möglich ist? Tue ich vielleicht etwas falsch? Muss ich einfach die extra "Meile" gehen und eine Deinstallation der vorhandenen SQL-Instanz programmieren? Hat sich schon mal jemand mit etwas Ähnlichem beschäftigt?

P.S. Gehört das auf Database Administrators (https://dba.stackexchange.com/)? Aufgrund des ClickOnce-Kontextes meiner Frage war ich mir nicht sicher.

Antwort

1

Ich musste das gleiche vor einer Weile tun. Was ich getan habe, war genau das, was Sie beschrieben und die Deinstallation für SQLExpress programmiert haben.

Aber ich habe es in einem Startmodul der App, ich habe für die installierte Version überprüft, führen Sie die Deinstallation, dann erneut überprüft (falls der Benutzer abgebrochen), dann die App neu gestartet.

Clickonce die fehlende erforderliche Voraussetzung für das Seminar und offed sieht zu installieren ..

Sehr langatmig, aber funktionierte.

Ich habe seit SQL Anywhere geändert (SQL Compact verwendet werden soll), Es ist nur eine DLL und kann daher mit dem eigenen Code der App aktualisiert werden, ohne dieses Chaos .. Unsere lokale Datenbank ist nur klein (es ist ein a Cache von Daten von einem Webservice). Dies ist möglicherweise nicht groß genug oder stark genug für