8

この問題は、ターミナル サーバーで実行されている Delphi アプリケーションにも当てはまりますか?

MSDN の記事「RD セッション ホスト サーバーで実行されている Office 2007 または Office 2003 アプリケーションが、Windows Server 2008 R2 で予期せず終了する可能性がある」が説明するように

この問題は、Tsappcmd.dll コンポーネントが原因で発生します。このコンポーネントは、ターミナル サーバーに対応していないアプリケーションのインポート アドレス テーブル (IAT) を変更して、ウイルスやマルウェアが悪意を持ってアプリケーションをフックするのを防ぎます。このため、モジュールがロードされる順序が原因で、アプリケーションで一時的なメモリ破損が発生する場合があります。Office 2007 および Office 2003 には、TSAWARE ヘッダー フラグが含まれていません。このフラグは、アプリケーションがターミナル サーバーに対応していることをサーバーに通知します。

ユーザー環境(Windows Server 2008 R2 Service Pack 1)の一部の Delphi 2009 アプリケーションが頻繁にハングまたはクラッシュします。これらのハング/クラッシュは再現できないため、考えられる理由を探しています。

MSDN の記事は最初に Office 製品に適用されるようですが、これは正しいですか、それとも -注意、これが基本的な質問です- Tsappcmd.dll は Office 以外のプログラムも変更するので、Delphi アプリでエラーが発生する可能性がありますか? (もちろん、欠落している TSAWARE フラグが害を及ぼさない場合は、Delphi アプリケーションをそのままにしておくことをお勧めします)。

4

1 に答える 1

5

はい、Tsappcmd.dll は、PE ヘッダーに TSAWARE フラグがないすべてのプログラムに影響します。ただし、これは、すべてのアプリがこの特定のバグの影響を受けることを自動的に意味するものではありません。ただし、TSAWARE フラグ (TOndrej が私のブログに提供したリンクを参照) を設定するか、KB 記事に記載されているレジストリ キーを設定することで、これを簡単にテストできます。

PS: ウイルスに対する保護であるという説明は、偽の説明のように思えます。このメカニズムは、アプリの互換性の理由で導入されました...

于 2012-05-09T17:58:39.660 に答える