Windows XPからのcomctl32.dllのバージョン6系列は、共有side-by-sideアセンブリとしてWinSxSフォルダに置かれています。ようするにマニフェストファイルを書かないと使えないというやつです。マニフェストでcomctl32.dllのバージョン6を使うよう指定すればバージョン6(XPスタイルの標準コントロール)が使われ、指定しないと、C:\WINDOWS\SYSTEM32などにある5.82系列のcomctl32.dll(クラシックスタイル)が使われます。以上おさらいです。

今日気づいたのですが、Windows Server 2003/Vista以降では、comctl32.dllバージョン6.0系列(XPスタイルが適用されるほう)だけでなく、
5.82系列もWinSxSに置かれています(もちろんSystem32にも健在です)。つまり、マニフェストで5.82を使うと明示できるということです。

特に便利というわけではないですが、バージョンと動作が大きく異なる同名の共有アセンブリがほかに見当たらないので説明に好都合だと思ったのですが、XPは残念ながら当てはまらなかったというだけのことです。説明というのは次回、次回に先送りです。2つのcomctl32.dllを混ぜて使う話です。


スポンサード リンク

この記事のカテゴリ

  • ⇒ またマニフェストの話しようかなと