Автозапуск приложения при загрузке Windows

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
aes
Сообщения: 43
Зарегистрирован: 05 фев 2007, 07:29

Автозапуск приложения при загрузке Windows

Сообщение aes » 10 авг 2010, 15:53

Доброго времени суток.
Имеется клиент-серверное приложение, работает под winXP. SQL-сервер - Firebird 2.5.
Ярлык на exe файл помещен в автозагрузку

Код: Выделить всё

c:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\
При загрузке Windows приложение стартует и тут же ругается "Unable to complete network request to host 127.0.0.1". Клиент запускается на локальной машине, строка коннекта "127.0.0.1:C:\path\mybase.fdb". Настройки для получения строки коннекта берутся при запуске ПО из

Код: Выделить всё

c:\Documents and Settings\myuser\Application Data\myProgramm
Получение настроек и запуск коннекта к базе вызывается в OnShow формы.
Иногда приложение таки запускается, но чаще ругается, как описано выше.
Подскажите, как обойти?
Спасибо.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Автозапуск приложения при загрузке Windows

Сообщение kdv » 10 авг 2010, 21:34

При загрузке Windows приложение стартует и тут же ругается "Unable to complete network request to host 127.0.0.1"
значит Firebird в этот момент (или вообще) не запущен.
Подскажите, как обойти?
для однопользовательских приложений не надо себе морочить голову сервером. Используйте embedded, не надо будет запускать никакие сервера.

aes
Сообщения: 43
Зарегистрирован: 05 фев 2007, 07:29

Re: Автозапуск приложения при загрузке Windows

Сообщение aes » 11 авг 2010, 07:25

Используйте embedded, не надо будет запускать никакие сервера.
Приложение многопользовательское, просто основное тестирование в данный момент проходит на локальной машине (особенности работы заказчика).
значит Firebird в этот момент (или вообще) не запущен.
Выходит, способ только один: пауза при запуске, периодическая проверка сервиса ФБ в течение например 30 сек, и корректное завершение приложения, если сервис не стартует?
Еще один момент. Иногда сообщение об ошибке бывает такое: "Unsuccessful execution caused by unavailable resource. Unavailable database".

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Автозапуск приложения при загрузке Windows

Сообщение kdv » 11 авг 2010, 09:59

просто основное тестирование в данный момент проходит на локальной машине (особенности работы заказчика).
тестирование чего? если эта машина работает как СЕРВЕР, то как бы, и заказчику, и ежу должно быть понятно, что сервер должен быть запущен РАНЬШЕ чем клиентские компьютеры.
Вы же комбинируете сервер и клиентский компьютер, втыкая приложение в автозапуск.
пауза при запуске, периодическая проверка сервиса ФБ в течение например 30 сек, и корректное завершение приложения, если сервис не стартует?
А что будет, если "серверный" компьютер у заказчика будет сам по себе грузиться дольше чем клиентские, даже если их одновременно включили?
Иногда сообщение об ошибке бывает такое: "Unsuccessful execution caused by unavailable resource. Unavailable database".
прямо-таки иногда? :)
www.ibase.ru/ibfaq.htm#unavail

aes
Сообщения: 43
Зарегистрирован: 05 фев 2007, 07:29

Re: Автозапуск приложения при загрузке Windows

Сообщение aes » 11 авг 2010, 11:34

Вобщем, дабы мы чуть лучше поняли друг друга, обрисую ситуацию подробнее.
Нормальный режим работы создаваемой системы:
есть сервер, на нем крутится fb, имеется всевозможное резервирование по питанию, по сохранности данных, включен всегда;
есть клиентское ПО, которое может запускаться либо на сервере, либо на других машинах в сети, причем запускаться должно в автоматическом режиме (пока речи о службах не идет).
В настоящий момент тестируется автоматический запуск клиентского ПО, установленного на сервер.
Для этого установлен fb2.5 super как служба, в автозагрузку скопирован ярлык, запускающий клиента.
После нескольких перезагрузок картина следующая:
очень редко ПО запускается нормально, часто выпадает сообщение "Unable to complete network request", и чуть реже "Unavailable database".
При обычном запуске клиентского ПО все ок, никаких ошибок.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Автозапуск приложения при загрузке Windows

Сообщение hvlad » 11 авг 2010, 12:21

На сервере небось автологон настроен ?

aes
Сообщения: 43
Зарегистрирован: 05 фев 2007, 07:29

Re: Автозапуск приложения при загрузке Windows

Сообщение aes » 11 авг 2010, 12:28

Да, есть такое.
Проверял на виртуалке (virtual PC), без автологона - картина та же.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Автозапуск приложения при загрузке Windows

Сообщение hvlad » 11 авг 2010, 12:37

Коннект к БД через TCP ?
Вставьте в автозагрузку ping -t localhost - что получится ?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Автозапуск приложения при загрузке Windows

Сообщение Dimitry Sibiryakov » 11 авг 2010, 13:33

STFW ""Always wait for network at computer startup and logon".
Это системная политика.

aes
Сообщения: 43
Зарегистрирован: 05 фев 2007, 07:29

Re: Автозапуск приложения при загрузке Windows

Сообщение aes » 11 авг 2010, 14:23

Коннект к БД через TCP ?
Да, по TCP.
Вставьте в автозагрузку ping -t localhost - что получится ?
При старте windows открывается консоль и идет пинг, все ок.
STFW ""Always wait for network at computer startup and logon".
Сделал.
Пока полет нормальный.

aes
Сообщения: 43
Зарегистрирован: 05 фев 2007, 07:29

Re: Автозапуск приложения при загрузке Windows

Сообщение aes » 12 авг 2010, 10:09

Проблема не решилась.
Только сейчас выпадает лишь "Unable to complete network request", очень редко.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Автозапуск приложения при загрузке Windows

Сообщение hvlad » 12 авг 2010, 10:37

Ну так источник проблемы стал хотя бы понятен ?

aes
Сообщения: 43
Зарегистрирован: 05 фев 2007, 07:29

Re: Автозапуск приложения при загрузке Windows

Сообщение aes » 12 авг 2010, 10:57

Похоже, что приложение успевает стартовать раньше, чем служба fb.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Автозапуск приложения при загрузке Windows

Сообщение kdv » 12 авг 2010, 12:06

"похоже"? OMG :)

aes
Сообщения: 43
Зарегистрирован: 05 фев 2007, 07:29

Re: Автозапуск приложения при загрузке Windows

Сообщение aes » 12 авг 2010, 12:44

Вот вам смешно, а где-то люди мучаются :)
Я вот каюсь, не знал, о такой особенности WinXP и fb (а может и не только WinXP, не проверял).
Впрочем, решение уже было озвучено, и тему можно закрыть.
Спасибо за помощь.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Автозапуск приложения при загрузке Windows

Сообщение Dimitry Sibiryakov » 12 авг 2010, 14:55

А вот сделали бы сразу своё приложение сервисом, тогда можно было бы поставить ему зависимость от сервера БД и забыть о проблемах с очерёдностью запуска навсегда...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Автозапуск приложения при загрузке Windows

Сообщение kdv » 13 авг 2010, 01:01

Я вот каюсь, не знал, о такой особенности WinXP и fb (а может и не только WinXP, не проверял).
о чем тут не знать, извините? что два приложения физически не могут запуститься в один момент, и если одно общается с другим, то до момента когда они оба будут работать, общения не будет? Вы, наверное, думали что тут какие-то невероятные сложности, но ведь это элементарно просто - пока один компьютер выключен, другой компьютер его в сети видеть не будет, ведь так? Пока я не пришел к Вам, мы с Вами не сможем поговорить очно. И так далее, не думаю, что нужно дальше приводить столь простые примеры.

В общем, не ищите сложное в простом :)

Ответить