|
|
|
Самообновление сервиса
|
|||
|---|---|---|---|
|
#18+
Помню, как-то заходила речь про самообновление сервиса. Не помню, чем тогда закончилось обсуждение, но вот недавно попробовал такой вариант (и даже работает): в настройках сервиса ставим перезапуск в случае "вылетания". В сервисе переименовываем файл самого себя, записываем новую версию и ExitProcess(0); Сервис-менеджер автоматически запускает уже обновленную версию. Правда есть опасность, что между переименованием и сохранением новой версии что-то случится и новая версия не запустится. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 15:31 |
|
||
|
Самообновление сервиса
|
|||
|---|---|---|---|
|
#18+
Карабас БарабасПравда есть опасность, что между переименованием и сохранением новой версии что-то случится и новая версия не запустится.Сохранить новую версию под другим именем и потом двойное переименование. Тогда интервал времени для "что-то случится" будет минимальным. А еще, как вариант, - создать и запустить новый сервис, потом завершиться самому. Новый сервис должен убрать "прах" покойного родителя в виде файла и ненужного сервиса. Правда, не уверен, что стандартных прав сервиса на это хватит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 15:42 |
|
||
|
Самообновление сервиса
|
|||
|---|---|---|---|
|
#18+
Извените хоть тема у же и обговорена и я могу быть не прав(с сервисами я этого не делал) но на обычные ехе следуйщие работоло: name.exe //запущеный name2.exe //То чем надо заменить name.exe -> name.bak name2.exe -> name.exe Зарубаем! и запускаем! все...(с explorer'ом работало после удаления его из dllcache) Да и еще если незатруднит скиньте на (Aicg@aaanet.ru) что-н-дь типа исходников сервиса который себя ставит(Не как непойму как поставить сервис прогой в фоне хотя и без фона сам незнаю как сделал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 22:27 |
|
||
|
Самообновление сервиса
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 19:19 |
|
||
|
Самообновление сервиса
|
|||
|---|---|---|---|
|
#18+
из сервиса как минимум можно создать батник и запустить его: REM если не можем сами наложить на себя руки, пусть это сделает taskkill.exe taskkill -f -IM serviceexename REM копирование copy c:\updates\updatedserviceexename.exe %windir\system32\serviceexename.exe естественно, весь функционал убийства и копирования можно записать в сам сервис без батников и внешних утилит и отрабатывать, скажем, при запуске с командной строки с параметром... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2007, 12:42 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34537035&tid=2028841]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 457ms |

| 0 / 0 |
