Как избежать замены SQLite-db при обновлении приложения C # WPF - PullRequest
0 голосов
/ 27 апреля 2019

Я получил мое приложение (wpf с SQLite-db) для работы с Squirrel. Но когда я развертываю новую версию, db-файл заменяется на пустой db.

Я попытался удалить файл db в новейшем nupkg, надеясь, что обновление покинет существующий файл db. Но это просто приведет к сбою приложения во время выполнения, поскольку существующее БД было удалено автоматическим обновлением.

Все остальные изменения, внесенные в приложение, обновлены и работают.

Я следовал этому уроку на YouTube: https://youtu.be/W8Qu4qMJyh4

Я ожидаю, что данные, хранящиеся в SQLite-db в приложении v. 1.0, все еще будут доступны в приложении v. 2.0.

1 Ответ

0 голосов
/ 07 мая 2019

Я предполагаю, что ваш файл базы данных сохраняется в том же каталоге, что и файл приложения (.exe, .dll и т. Д.).Если это так, то вы должны сохранить его в другом каталоге.По своему замыслу Squirrel создает новый каталог установки для каждого обновления.

из документов .. обратите внимание на MyApp.exe для каждой версии app-1.0.0 и app-1.0.1,таким образом, вы получите тот же сценарий для вашего db.sqlite, если поместите его в каталог приложения.

\%LocalAppData%\MyApp
   \packages
      MyApp-1.0.0.nupkg
      MyApp-1.0.1-delta.nupkg
      MyApp-1.0.1.nupkg   
   \app-1.0.0
      MyApp.exe
   \app-1.0.1
      MyApp.exe
...