通过ClickOnce升级SQL实例

时间:2012-05-23 19:51:51

标签: .net sql-server clickonce

我有一个通过ClickOnce部署的Winforms应用程序,该应用程序具有SQL Server 2005 Express的先决条件。我想将其更改为SQL Server 2008 R2 Express。

我正在查看SQL Server 2008 R2 Express的package.xml并注意到这些行:

<!-- 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">

SEEMS 暗示可以升级。但是,在尝试此操作时,它失败了,并提示我卸载现有的SQLEXPRESS实例。

有人知道这是否可行?也许,我做错了什么?我是否只需要额外的'英里'并编写现有SQL实例的卸载代码?有没有人处理类似的事情?

P.S。这属于Database Administratorshttps://dba.stackexchange.com/)吗?鉴于我的问题的ClickOnce上下文,我不确定。

1 个答案:

答案 0 :(得分:1)

前一段时间我不得不做同样的事情。我所做的就是为您描述和编写SQLExpress的卸载代码。

但我在应用程序的启动模块中执行了此操作,检查了已安装的版本,运行其卸载,然后再次检查(如果用户取消),然后重新启动应用程序。

Clickonce会看到缺少必需的必备条件和offed来安装..

很长时间啰嗦,但确实有效。

我已经改为使用SQL Everywhere(SQL Compact用来调用),它只是一个DLL,因此可以使用应用程序自己的代码进行升级而不会出现这种混乱。我们的本地数据库很小(它的缓存)来自Web服务的数据)。这可能不是很大或很强大f