« 放送大学の科目履修生になれば社会人でもAdobe製品のアカデミック版が買えるらしい? | トップページ | NiVE(NicoVisualEffects)とはどんなソフトなのか。動画編集ソフト?動画加工ソフト? »

2009年10月 8日 (木)

Visual C++ 2005SP1/2008/2008SP1 の再頒布可能パッケージの最新版

先日NiVEの拡張プラグイン「Aviutl入力/出力プラグイン利用」が更新されたのですが、
入れてみたところ、NiVE起動時にエラーが発生してしまいました。
プラグイン作者のルーチェさんの調査の結果、
  Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ ATLのセキュリティ更新プログラム
のインストールが必要なことが判明。(いわゆるランタイムライブラリ)

もともと、うちの環境には
  Visual C++ 2005 SP1 再頒布可能パッケージ (x86)
をインストール済みだったのですが、上記の「ATLのセキュリティ更新プログラム」は、
"更新プログラム"という名前にも関わらず、自動更新ではインストールされないようです。
ダウンロードして手動でインストールした結果、無事に動くようになりました。

詳細な経緯についてはルーチェさんが
   「VC++2005SP1再頒布可能パッケージの罠
という記事にまとめてくれていますので、見ておくとよいかも。

こちらでも大雑把にまとめてみると、以下のような流れが原因らしい。

 
  1.2009年7月末に、
      MS09-035 - 警告 : Visual Studio の Active Template Library の脆弱性により、リモートでコードが実行される (969706)
    というセキュリティ問題への対応が行なわれた。

  2.この際、既に「Visual C++ 2005 SP1 再頒布可能パッケージ」を
    インストールしている環境(つまり一般ユーザの環境)に対しては、
    自動更新で、最小限のパッチだけが当てられた。

  3.VIsualStudioを使っている環境(つまり開発者さんの環境)に対しては、
    自動更新で、最新のライブラリ群を含むフルパッチが当てられた。

  4.作者さんは、最新のライブラリを利用してプラグインを作り、リリースした。

  5.一般ユーザの環境には最小限のパッチしか当たっておらず、
    最新のライブラリ群が無いため、NiVE起動時にエラーが発生してしまった。

  6.一般ユーザの環境に最新のライブラリ群を入れるには、
      Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ ATLのセキュリティ更新プログラム
    を手動でダウンロードしてインストールする必要がある。

つまり、ユーザ環境と開発者環境に対するマイクロソフト社の
自動更新の対応の違いが、今回の問題の原因の1つかなあと。

ちなみに、一般ユーザ環境に自動更新で当てられる最低限のパッチの内容は、KB973923を参照。
「ATLのセキュリティ更新プログラム」の内容は、KB973544を参照。
全然違うことがわかります。

セキュリティ情報 MS09-035」のページの「FAQ」を見ると、
   「修正された Visual C++ 2005 および 2008 再頒布可能パッケージ (KB973544、KB973551 およびKB973552) の
    完全なバージョンは、製品の完全な新しいバージョンであるため、マイクロソフト ダウンロード センターから配布されます。」
    (つまり古い再頒布可能パッケージを入れていても、自動更新じゃ入らないってこと)
と書かれており、この「製品の完全な新しいバージョン」というのが、
   Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ ATLのセキュリティ更新プログラム
だということ。

「セキュリティ更新プログラム」という言葉と、「製品の完全な新しいバージョン」という言葉は
いまいち結びつかないんだけどなあ・・・。
それに、開発環境を自動更新するなら、一般ユーザ環境も自動更新してくれればいいのに。

なお、この問題はVisual C++ 2005だけでなく、Visual C++ 2008にも同様の対処がされているようです。
NiVEのプラグインとしては「DirectShow入力」などがVisual C++ 2008を使っているので、
もしかすると今後の更新次第では、同様の問題が出る可能性も。

とりあえず、Visual C++ 2005SP1/2008/2008SP1 のランタイムの最新の再頒布可能パッケージが、
以下のものであるということは、記憶にとどめておいたほうがよさそうです。

  ●Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ ATL のセキュリティ更新プログラム

  ●Microsoft Visual C++ 2008 再頒布可能パッケージ ATL のセキュリティ更新プログラム

  ●Microsoft Visual C++ 2008 Service Pack 1 再頒布可能パッケージ ATL のセキュリティ更新プログラム

|

« 放送大学の科目履修生になれば社会人でもAdobe製品のアカデミック版が買えるらしい? | トップページ | NiVE(NicoVisualEffects)とはどんなソフトなのか。動画編集ソフト?動画加工ソフト? »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Visual C++ 2005SP1/2008/2008SP1 の再頒布可能パッケージの最新版:

« 放送大学の科目履修生になれば社会人でもAdobe製品のアカデミック版が買えるらしい? | トップページ | NiVE(NicoVisualEffects)とはどんなソフトなのか。動画編集ソフト?動画加工ソフト? »