Вы когда-нибудь сворачивали удаленное приложение, совместно используемое сервером Windows 2008, и оно исчезало примерно через 10 секунд?
Если да, то как вы преодолели это конкретное неудобство?
Это внутреннее приложение, я спрашиваю здесь, а не в StackOverflow, потому что я отчаянно хочу, чтобы это стало проблемой реализации.
Программа отлично работает с Citrix, но не с удаленным приложением Microsoft Terminal Services. Настройка простая, без изменений по умолчанию, и мы пробовали использовать как установщик MSI, так и соединение .RDP (которые, как мне кажется, в любом случае одинаковы)
Вы проходите через шлюз TS и межсетевой экран? Если так, то может случиться вот что ...
Когда вы сворачиваете RemoteApp, соединение HTTPS / TCP, которое клиент удаленного рабочего стола использует для туннелирования трафика RDP, становится тихим.
Брандмауэр, считая, что ваш туннелированный сеанс RPD - это просто обычное HTTPS-соединение с веб-браузером, ожидает некоторого периода ожидания после отсутствия активности, а затем закрывает соединение.
Ненавижу ссылаться на них, но в ExpertSexChange есть достойное обсуждение этой проблемы: http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/Remote_Desktop-Terminal_Services/Q_24178275.html
Их решение было продлить тайм-аут, настроенный на брандмауэре.
Единственное упоминание об этом, которое я обнаружил, было примечанием к выпуску обновления прошивки Juniper Networks SSL VPN. В нем упоминается добавление поддержки RemoteApps. Это наводит меня на мысль, что есть некоторые сетевые требования, которые могут не быть задокументированы Microsoft и различаются в зависимости от сетевого устройства и поставщика. Ссылка здесь: http://www.juniper-support.blogspot.com/2008_08_01_archive.html
Так что, возможно, это просто проблема, связанная с Delphi, хотя системные администраторы должны знать, если они хотят запустить приложение, написанное на Delphi.
Application.MainFormOnTaskbar := True
перед application.initialize (не очень сисадминный)
Вы уверены, что такое поведение не происходит, если оно не свёрнуто, а неактивно в течение того же периода времени?
Если удаленное приложение свернуто, этот удаленный сеанс считается неактивным и будет подчиняться любой групповой политике или свойствам rdp-tcp, которые имеют дело с ограничениями простоя сеанса. Чтобы проверить, просто запустите удаленное приложение, не сворачивайте его, дайте ему поработать и посмотрите, сколько времени потребуется, чтобы отключиться. Если он такой же, как когда он свернут, просто измените настройки политики.