Я написал автоматический клиент загрузки HTTPS, который не должен требовать взаимодействия с пользователем.
Все было безупречно, пока я не развернул его вслепую в удаленной системе, к которой у меня нет доступа к удаленному рабочему столу.Инструмент сообщил в журналах, что отсутствуют библиотеки SSL.
Хорошо, я развернул LIBEAY32.dll
и SSLEAY32.dll
в папке приложения на удаленной системе, но затем инструмент завис, и я не мог понять, чтопродолжалось до тех пор, пока я не написал инструмент, который делает удаленный снимок экрана.
На снимке экрана я вижу модальное окно из процесса csrss.exe
с сообщением:
Программа может 't, потому что MSVCR120.dll отсутствует на вашем компьютере.
Окно появилось, несмотря на наличие большого количества блоков try except
и обработчика Application.OnException
.
Мне бы хотелось, чтобыв таких случаях приложение не будет задержано, поэтому оно может сообщить о сбое в свой журнал.
Как этого добиться?
В текущей реализации TIdHttp.Post
вызов просто зависает.
PS Я решил проблему отсутствия DLL, скопировав ее в папку приложения, но у меня вопрос о том, чтобы отловить такие ошибки.