powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Самообновление сервиса
5 сообщений из 5, страница 1 из 1
Самообновление сервиса
    #34523654
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помню, как-то заходила речь про самообновление сервиса. Не помню, чем тогда закончилось обсуждение, но вот недавно попробовал такой вариант (и даже работает): в настройках сервиса ставим перезапуск в случае "вылетания". В сервисе переименовываем файл самого себя, записываем новую версию и ExitProcess(0); Сервис-менеджер автоматически запускает уже обновленную версию. Правда есть опасность, что между переименованием и сохранением новой версии что-то случится и новая версия не запустится.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Самообновление сервиса
    #34523696
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас БарабасПравда есть опасность, что между переименованием и сохранением новой версии что-то случится и новая версия не запустится.Сохранить новую версию под другим именем и потом двойное переименование. Тогда интервал времени для "что-то случится" будет минимальным.

А еще, как вариант, - создать и запустить новый сервис, потом завершиться самому. Новый сервис должен убрать "прах" покойного родителя в виде файла и ненужного сервиса.
Правда, не уверен, что стандартных прав сервиса на это хватит...
...
Рейтинг: 0 / 0
Самообновление сервиса
    #34537035
Aicg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извените хоть тема у же и обговорена и я могу быть не прав(с сервисами я этого не делал) но на обычные ехе следуйщие работоло:

name.exe //запущеный
name2.exe //То чем надо заменить
name.exe -> name.bak
name2.exe -> name.exe
Зарубаем! и запускаем! все...(с explorer'ом работало после удаления его из dllcache)

Да и еще если незатруднит скиньте на (Aicg@aaanet.ru) что-н-дь типа исходников сервиса который себя ставит(Не как непойму как поставить сервис прогой в фоне хотя и без фона сам незнаю как сделал)
...
Рейтинг: 0 / 0
Самообновление сервиса
    #34537658
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aicg A> name.exe //запущеный
A> name2.exe //То чем надо заменить
A> name.exe -> name.bak
A> name2.exe -> name.exe
A> Зарубаем! и запускаем!читай внимательно: без посторонних программ. Сервис самоперезапуститься не может.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Самообновление сервиса
    #34539264
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из сервиса как минимум можно создать батник и запустить его:
REM если не можем сами наложить на себя руки, пусть это сделает taskkill.exe
taskkill -f -IM serviceexename
REM копирование
copy c:\updates\updatedserviceexename.exe %windir\system32\serviceexename.exe
естественно, весь функционал убийства и копирования можно записать в сам сервис без батников и внешних утилит и отрабатывать, скажем, при запуске с командной строки с параметром...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Самообновление сервиса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]