Comments 18
А использовать для этого MS SQL Server — это не overkill, нет?
Ну и в целом, статья не очень глубокая, мягко говоря.
Ну и в целом, статья не очень глубокая, мягко говоря.
+3
Я делаю по другому: храню в табличке на SQL сервере все файлы программы, а потом когда нужно поменять один шаблон например, то добавляю новую запись в эту таблицу, а старый файл деактивирую в таблице.
В итоге у меня остается история версий и если что можно быстро откатить изменения в базе и клиенты обновятся обратно на старые версии файлов.
В итоге у меня остается история версий и если что можно быстро откатить изменения в базе и клиенты обновятся обратно на старые версии файлов.
0
UFO just landed and posted this here
Жесть. А забирать по http/ftp уже не вариант? Самый простой вариант — прога при загрузке лезет в инет (в том числе через прокси), качает какой-нибудь xml, да хоть ini и при наличии новой версии качает инсталлятор, запускает его и закрывается сама. Инсталлятор по окончанию запускает обновленную программу.
+1
Это в рабочей сетке, так что интернет не вариант, тем более там такие тети сидят что впадают в панику, увидев окно где больше одной кнопки. Поэтому хотел сделать обновление в тихом режиме всего лишь ответив на вопрос: «Обновить программу? Да/Нет»
0
А для delphi правда нельзя использовать технологии вроде ClickOnce?
0
Вообще освоить Local Update Publishing при наличии WSUS было бы быстрее, ну и плюс сохранилось бы некоторое единообразие установки для пользователя. Внутри ведь по сути — тоже SQL-база со ссылками на файлы и само хранилище файлов, но зато уже готовое.
+1
Самые очевидные ляпы:
1. Ни одна ошибка не обрабатывается (блоки finally/end пустые либо пишут в стиле КО). В случае, когда ошибка произойдет после переименования программы, но до полной установки обновления (свет мигнул и свич по дороге завис) — программа в следующий раз просто не запустится, ибо ее уже не будет.
2. Именование переменных (точнее его отсутствие) — тихий ужас.
3. В случае запуска программы с параметрами после обновления программа запускается уже без них.
1. Ни одна ошибка не обрабатывается (блоки finally/end пустые либо пишут в стиле КО). В случае, когда ошибка произойдет после переименования программы, но до полной установки обновления (свет мигнул и свич по дороге завис) — программа в следующий раз просто не запустится, ибо ее уже не будет.
2. Именование переменных (точнее его отсутствие) — тихий ужас.
3. В случае запуска программы с параметрами после обновления программа запускается уже без них.
0
Школокод на хабре? No way!
Вопрос по сути — зачем нужна вот эта магия:
Вопрос по сути — зачем нужна вот эта магия:
TVerInfo=packed record
Nevazhno: array[0..47] of byte; // ненужные нам 48 байт
Minor,Major,Build,Release: word; // а тут версия
end;
+1
Sign up to leave a comment.
Автообновление программы через MSSQL server