Ref*_*din 5 .net sql-server clickonce
我有一个通过ClickOnce部署的Winforms应用程序,该应用程序具有SQL Server 2005 Express的先决条件.我想将其更改为SQL Server 2008 R2 Express.
我正在查看package.xmlSQL Server 2008 R2 Express并注意到这些行:
<!-- 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">
Run Code Online (Sandbox Code Playgroud)
这个SEEMS意味着升级是可能的.但是,在尝试此操作时,它失败,并提示我卸载现有SQLEXPRESS实例.
有谁知道这是否可能?也许,我做错了什么?我是否只需要额外的'英里'并编写现有SQL实例的卸载代码?有没有人曾经处理类似的事情?
PS这是否属于数据库管理员(https://dba.stackexchange.com/)?鉴于我的问题的ClickOnce上下文,我不确定.
不久前我也不得不这样做。我所做的就是完全按照您的描述进行操作并编写 SQLExpress 卸载代码。
但我在应用程序的启动模块中做到了这一点,我检查了已安装的版本,运行其卸载,然后再次检查(以防用户取消),然后重新启动应用程序。
Clickonce 看到缺少必需的先决条件并提供安装..
很长篇大论,但确实有效。
从那以后,我改用 SQL Everywhere(SQL Compact 被称为),它只是一个 DLL,因此可以使用应用程序自己的代码进行升级,而不会出现这种混乱。我们的本地数据库很小(它的数据缓存来自网络服务)。这可能不够大或不够强大