通过Clickonce更新升级SQL CE

时间:2010-12-02 22:15:00

标签: clickonce

我们最近将现有的Clickonce应用开发项目从Visual Studio 2005迁移到了VS 2010。 由于Visual Studio 2010的升级问题,我们必须将其SQL CE数据库从v3.1升级到v3.5。

为避免数据迁移问题,我们每次发布Clickonce更新时都会将用户以前的数据库复制到新的安装文件夹中。如果有任何数据库更改,我们将它们编入应用程序的IsFirstRun事件处理程序。

但是现在,由于我们已经更改了数据库版本和部署的SQL CE .dll文件,这意味着我们所有现有客户端最终都会使用错误的数据库版本。

我们拥有相当庞大的用户群,如果我们要求所有现有用户导出数据,完全卸载,然后重新安装新版本,我们就会遇到问题。

问题:有没有办法以编程方式就地升级现有数据库?

感谢

2 个答案:

答案 0 :(得分:1)

以下是您可能会发现有用的两篇文章。第一个是如何在部署中包含SQLCE dll而不是将其作为先决条件部署;这使您可以完全控制正在运行的版本。

http://robindotnet.wordpress.com/2010/02/28/how-to-deploy-the-sqlserver-compact-edition-software-locally/

第二篇文章是关于如何使您的数据远离ClickOnce更新。

http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/

答案 1 :(得分:0)

当然,使用SqlCeEngine升级API,甚至支持就地升级:http://erikej.blogspot.com/2010/08/how-to-upgrade-version-3x-database-file.html