题
最近,我们将现有的Clickonce应用程序开发项目从Visual Studio 2005转移到VS2010。由于Visual Studio 2010的升级问题,我们不得不将其SQL CE数据库从v3.1升级到v3.5。
为了避免数据迁移的头痛,每次发布ClickOnce更新时,我们一直将用户的先前数据库复制到其新的安装文件夹中。如果有任何数据库更改,我们将其脚本脚本介绍到应用程序的ISFIRSTRUN事件处理程序中。
但是现在,由于我们已更改了数据库版本和已部署的SQL CE .DLL文件,因此这意味着我们所有现有客户端都将最终出现错误的数据库版本。
我们拥有一个相当大的用户群,如果我们要求所有现有用户完全卸载他们的数据,然后重新安装新版本,我们将面临问题。
问题:有没有办法以编程方式升级现有数据库?
谢谢
没有正确的解决方案
其他提示
这是您可能会发现有用的两篇文章。第一个是如何将SQLCE DLL在您的部署中包括在内,而不是将其作为先决条件进行部署;这使您可以完全控制您正在运行的版本。
第二篇文章是关于如何使您的数据免受ClickOnce更新的安全性。
当然,使用SQLCEENGINE升级API,甚至支持升级: http://erikej.blogspot.com/2010/08/how-to-upgrade-version-version-3x-database-file.html
不隶属于 StackOverflow