[VB.NET] Релизация обновления модуля программы через интеренет.
программа состоит из нескольких независимых частей (описанных в разных файлах и использующихся на разных формах - Form.vb но они почему-то в Visual Studio компилируются в один exe-шник.можно создать отдельные проекты dll, вынести в них независимые части, будет компилировать отдельно. Просто создаешь там проект соответствующего типа, потом перетаскиваешь туда файлы в solution explorer, правишь возникшие проблемы (надо будет публики проставить скорее всего) и все должно заработать.
Буду признателен за любую помощь.помогу советом
не хочешь гореть в аду — завязывай с самообновляющимися программами
можно создать отдельные проекты dll, вынести в них независимые части, будет компилировать отдельно. Просто создаешь там проект соответствующего типа, потом перетаскиваешь туда файлы в solution explorer, правишь возникшие проблемы (надо будет публики проставить скорее всего) и все должно заработать.спасибо, буду пробовать пойти таким путем.
помогу советомне хочешь гореть в аду — завязывай с самообновляющимися программамиконечно же, обновление будет осуществляться только с разрешения пользователя.
общая схема обновления:
1. скачивается новая версия
2. запускается вспомогательный exe-шник
3. прибивается основная программа
4. старая версия на всякий случай сохраняется
5. новая версия копируется на место основной программы
6. запускается основная программа
7. прибивается вспомогательный exe-шник
основные грабли:
1. с правами на запись в папку, где находится программа
2. восстановление работоспособности программы, если что-то не получилось (файл какой-то был залочен, места не хватило и т.д.)
3. согласованность обновления, если программа обновляется по частям
реализация проста и мне под силу даже без изучения дополнительного материала, но что-то мне подсказывает, что это не является "хорошим стилем".
мое представление об обновлении программ - именно обновляются модули, а не целиком экзешник.
как вообще происходит обновление крутых программ (какой-нить Windows и т.д.)?
у тебя программа сколько весит?
как вообще происходит обновление крутых программ (какой-нить Windows и т.д.)?обновление делается патчем.
1. сравнивается старая и новая версия и формируется файл различий.
2. файл различий пересылается на клиента
3. на основе старой версии и файла различий создается новая версия
4. происходит обновление по общему алгоритму
но малину портит, что у клиента может стоять не предпоследняя версия, а предпредпоследняя или пред-пред-пред-последняя и т.д., что приводит к росту кол-ва патчей и усложению схемы.
при текущих высоких скоростях интернета и низких цен на трафик в новых программах таким редко заморачиваются, и обновляют целиком - что увеличивает надежность обновления
у тебя программа сколько весит?101 кб
я понимаю к чему уклон
просто хочется сделать так, чтобы потом не стыдно было "детям рассказывать", т.е. применяя системный подход.
применяя системный подход.первое правило системного подхода - чем проще, тем лучше
ps
на объеме 100кб уж точно обновлять надо целиком.
первое правило системного подхода - чем проще, тем лучше psна объеме 100кб уж точно обновлять надо целиком.ок. пасиба за совет.
мне нравится его простота. это будет, навреное, временное решение, пока не найду системный подход.
Оставить комментарий
Mufy
Господа,есть маленькая программулинка, к которой периодически приходится выпускать багфиксы (путем рассылки нового exe-шника).
Хотелось бы релизовать в программке возможность самоcтоятельного обновления, т.е. чтобы она при запуске лезла на какой-нить сайтик и смотрела наличие обновлений, если таковые есть, то сама скачаивала бы их и применяла в работе.
теперь, собственно, суть проблематики:
1) программа состоит из нескольких независимых частей (описанных в разных файлах и использующихся на разных формах - Form.vb но они почему-то в Visual Studio компилируются в один exe-шник.
Как заставить Visual Studio компилировать проект в несколько файлов (в соотвествии со структурой проекта которые потом можно будет обновлять? желательно, чтобы была возможность обновлять и сами формы.
2) какие методы использовать для обновления файлов(см. п.1)?
Буду признателен за любую помощь.
PS в программировании не профи, это всего лишь маленькое хобби.