Как установить базу данных пользовательских настольных приложений в SQL Express? - PullRequest
2 голосов
/ 11 июня 2009

У меня есть настольное приложение WPF, которое использует собственную базу данных для хранения. Мне нужно подготовить проект установки (из Visual Studio 2008) (полная настройка, а не ClickOnce).

Я могу добавить к списку предварительных требований к приложению, и оно устанавливается во время установки приложения.

Мой вопрос: как я могу запустить скрипт во время установки, чтобы создать базу данных, которая нужна приложению? ИЛИ как я могу восстановить базу данных на клиентском компьютере во время установки?

Другой связанный вопрос, что произойдет, если он уже существует на клиентском компьютере? Как определить имя экземпляра и данные подключения? А затем, как можно - если нужно - изменить строку подключения, используемую платформой Entity для подключения к этой базе данных?

Спасибо, Ed

1 Ответ

3 голосов
/ 11 июня 2009

SQL Server Express Edition, как правило, очень плохой выбор для локальной базы данных. Это движок серверного класса, который любит использовать много ресурсов и работает как служба (поэтому он использует эти ресурсы, даже когда ваше приложение не работает). Другими словами, он принадлежит серверу.

Единственное место, где я видел SQL Server Express, используемый на настольном компьютере, который почти имеет смысл, - это приложение Microsoft Small Business Accounting , и в этом случае вы обычно устанавливаете эту программу на компьютере. кто в первую очередь ведет бухгалтерский учет для вашего бизнеса.

То, что вы должны сделать, это использовать десктоп или движок класса в процессе, например SQL Server Compact Edition , Sqlite или даже Access. Это также значительно упростит ваше развертывание.

Если вы настаиваете на этом, знайте, что установщик создаст в системе новый экземпляр сервера sql. SQL Server будет хорошо с этим. Однако вам необходимо учесть это в строке подключения вашего приложения, и это может быть немного сложнее. Кроме того, для настройки базы данных у вас есть несколько вариантов:

  • Создать его из кода клиента при первом запуске приложения
  • Создайте его с помощью специального действия установщика (трудно понять, потому что MSI-разрешения)
  • Распространите файл предварительной сборки * .mdf и прикрепите его с помощью специального установщика или при первом запуске приложения.
...