読者です 読者をやめる 読者になる 読者になる

Microsoft製のランタイムDLLをいかにdeployするか?

Windows XPに標準で付属するランタイムDLLでSxSアセンブリであるものは以下の3つのようですで主なものの抜粋が以下です

共有アセンブリの抜粋

  • COMCTL32.DLL V6コンポーネント
  • GDI+コンポーネント
  • VC++のランタイム

一方,VisualC++ .NET 2003のヘルプにはこうあります.

msvcrt.dll は "known DLL"、つまり、Windows が所有および構築するシステム コンポーネントになりました。msvcrt.dll は、システム レベルのコンポーネントだけで使用されることを前提としています。アプリケーションでは msvcr71.dll を使用し、再配布する必要があります。システム ディレクトリには、msvcr71.dll のコピーを作成しないでください。また、既にコピーが存在する場合でも、使用しないでください。msvcr71.dll のコピーは、実行可能プログラムと共にアプリケーション ディレクトリに保存してください。/MD スイッチを使用して Visual C++ .NET で構築したアプリケーションはすべて msvcr71.dll を使用します。

msvcr71.dllやmsvcp71.dllのプライベートなdeployが推奨されているあたりの事情はGDIPlus.dllと同じなのでしょうか.
ちなみに"msvcrt.dll"で全検索をかけると,Adobe製品がプライベートDLLとしてアプリケーションフォルダにdeployしてしまっているようです.いいのかなぁこれ.
いずれにせよ,C++のネイティブアプリケーションに関してはDLLの分散を推奨しているように見えてしまいます.もしmsvcp71.dllに不具合が見つかったら今回のGDIPlus.dll騒動と同じことが起きるのでしょうか?
というあたりで今日は時間切れです.何だかしっくりこない結末で済みません.