Вопрос по – Приложения Delphi и флаг заголовка TSAWARE [закрыто]

8

Может ли эта проблема также применяться к приложениям Delphi, работающим на серверах терминалов?

Как статья MSDN & quot;Приложение Office 2007 или Office 2003, работающее на сервере Узел сеансов удаленных рабочих столов, может неожиданно закрыться в Windows Server 2008 R2& Quot; объясняет

This issue occurs because of the Tsappcmd.dll component. This component makes changes to the Import Address Table (IAT) for applications that are not Terminal Server aware in order to prevent viruses or malware from maliciously hooking the application. Because of this, the application may experience temporary memory corruption because of the order in which the modules are loaded. Office 2007 and Office 2003 do not contain the TSAWARE header flag. This flag notifies the server that the application is Terminal Server aware.

Некоторые приложения Delphi 2009 в пользовательской среде (Windows Server 2008 R2 с пакетом обновления 1) часто зависают или аварийно завершают работу. Я ищу возможные причины, так как эти зависания / сбои не могут быть воспроизведены.

Статья MSDN, кажется, в первую очередь относится к продуктам Office, это правильно или -attention, here is the basic question - Tsappcmd.dll также изменяет не офисные программы, чтобы ошибка могла возникнуть с приложениями Delphi? (Конечно, я бы предпочел оставить приложения Delphi без изменений, если отсутствующий флаг TSAWARE не является вредным).

Howto установить флаг TSAWARE Ondrej Kelle
@mjn: да, во время настройки означает во время первой, первоначальной установки. Сервер терминалов в основном выполняет захват всего, что записано в ключ HKCU, и записывает это в специальный ключ реестра, называемый «Теневой ключ». При входе в систему другого пользователя содержимое теневого ключа сравнивают по дате / времени и записывают в HKCU этого пользователя. Remko
Интересный вопрос Смотрите также:stackoverflow.com/questions/4854534/… Leonardo Herrera
Используйте map2dbg и Process Explorer, чтобы определить, где блокируется процесс. David Heffernan
@ TOndrej спасибо за ссылку - возможно, это стоит отдельного вопроса, так как он говорит, что приложениеmust neither rely on INI files nor write to the HKEY_CURRENT_USER registry during setup (цитата изMSDN) - но в Delphi TRegistry по умолчанию использует HKEY_CURRENT_USER, что следует использовать вместо этого, поэтому мне интересно, что «во время настройки»; значит, установка приложения? mjn

Ваш Ответ

1   ответ
5

которые не имеют флага TSAWARE в заголовке PE. Однако это НЕ означает автоматически, что эта ошибка связана со всеми этими приложениями. Но вы можете легко проверить это, установив флаг TSAWARE (см. Ссылку, указанную TOndrej на мой блог) или установив ключ реестра, упомянутый в статье базы знаний.

PS: объяснение того, что это защита от вирусов, кажется ложным объяснением, этот механизм был введен по соображениям совместимости приложений ...

Похожие вопросы