Обновление SQL CE через обновление Clickonce - PullRequest
1 голос
/ 03 декабря 2010

Недавно мы переместили существующий проект разработки приложений Clickonce из Visual Studio 2005 в VS 2010. В связи с проблемой обновления Visual Studio 2010 нам пришлось обновить базу данных SQL CE с версии 3.1 до версии 3.5.

Чтобы избежать головной боли при переносе данных, мы копировали предыдущую базу данных пользователя в новую папку установки каждый раз, когда публикуется обновление Clickonce.Если есть какие-либо изменения в БД, мы записываем их в обработчик событий приложения IsFirstRun.

Но теперь, поскольку мы изменили версию базы данных и развернутые DLL-файлы SQL CE, это означает, что у всех наших существующих клиентов будет неправильная версия базы данных.

У нас довольно большая база пользователей, и мы сталкиваемся с проблемами, если мы требуем, чтобы все существующие пользователи экспортировали свои данные, полностью удалили, а затем переустановили новую версию.

ВОПРОС: Есть ли способобновить существующую базу данных программно?

СПАСИБО

Ответы [ 2 ]

1 голос
/ 12 января 2011

Вот две статьи, которые могут оказаться полезными. Первый - это как включить в ваше развертывание DLL-файл SQLCE вместо его развертывания в качестве предварительного условия; это дает вам полный контроль над тем, какую версию вы используете.

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/

0 голосов
/ 03 декабря 2010

Конечно, используйте API обновления SqlCeEngine, даже поддерживает обновления на месте: http://erikej.blogspot.com/2010/08/how-to-upgrade-version-3x-database-file.html

...