Как правильно обновить существующее приложение? - PullRequest
1 голос
/ 14 сентября 2010

Приложение, над которым я работаю, почти закончено, но мы вышли на распутье.Несколько раз в будущем нам придется обновлять приложение.Мы можем легко заменить приложение новой версией, а также базой данных SQLite, но в то же время мы не хотим этого делать.По сути, наше приложение состоит из трех частей:

1.  Application
2.  Reports DLL (used by the Application)
3.  SQLite database.

Наши обновления приложения будут происходить реже, чем обновления отчетов DLL и базы данных SQLite.Возможно, нам потребуется добавить отчет, то есть нам нужно добавить записи в базу данных и заменить DLL.Однако я не нахожу в Visual Studio 2008 установочного пакета, который бы позволял вам добавлять к нему логику (не уверен, что он вообще существует).Я мог бы создать свой собственный, но если Microsoft что-то построит на 90%, я бы лучше использовал это.Итак, мои простые вопросы:

  1. Можете ли вы добавить экраны / логику в проекты установки в Visual Studio 2008?
    1a.Если вы можете, есть ли у кого-нибудь хороший учебник или ссылка, которую я могу использовать?Спасибо.

Причина, по которой мы не хотим заменять БД, заключается в том, что там может быть информация, над которой они работают.

Ответы [ 2 ]

2 голосов
/ 14 сентября 2010

Да, вы обычно можете добавлять новые диалоги в проекты настроек Visual Studio. Вот учебник от codeproject о том, как это сделать.

В качестве совета вы можете перенести ваши установочные пакеты в WIX , это бесплатно, с открытым исходным кодом и намного более гибко.

0 голосов
/ 14 сентября 2010

Вы также можете обрабатывать обновления отчетов и базы данных при запуске приложения.

Таким образом, после обновления через установщик при первом запуске приложения оно обновит базу данных, добавит все новые записи и т. Д.

Часто проще добавить логику обновления в приложение, а не в установщик, и, поскольку требуется выполнить обновление только один раз, это не окажет негативного влияния на общее время запуска приложений.

...