Microsoft Office Web ComponentsはOffice 2007ではサポートされない

Microsoft Application CenterTestとプロキシ設定

これでテストは動くようになったが、今度はテストサマリで表示されるはずのRPS(request per second)チャートが表示されない。

ヘルプを読むと、どうやら「Microsoft Office Chart コントロール」というのを流用しているらしく、現在のWindows Vista環境にはそのコンポーネント(名前からしてOffice オートメーションサーバか?)が登録されていないらしい。そもそもこのコンポーネントはどこに含まれているんだ?

調べて見ると、正式には「Microsoft Office Web Components」という名称であり、そもそもの目的はWebページのデータの表示やグラフ化に利用するActiveXコントロール群だ。
ならば最新版のをインストールしてやれば良いのだろうと思うが、Office 2007では既にサポートされていないらしい。

Office 2007を機にOffice Webコンポーネントが引退へ、選択肢はAJAX?

こうやってひっそりと? 便利だけど邪魔なコンポーネントは外されていくんだろう。
取り敢えずはOffice 2003用の同コンポーネントのダウンロードは継続されている、とのことなのでこれをインストールしてみることにする。既にOffice 2007を使用しているが、互換性のためにOffice 2003は残しているし、使えるだろう。
Office 2003 アドイン : Office Web Components

と、インストールしたがまだチャートが表示されない。困ったときのgroupということでmicrosoft.public.vsnet.actを調べてみたが、どうやらバージョンが違うらしい。
Office XP ツール : Web Components

これでも駄目だ。仕方が無いので、COMコンポーネントの登録し直しを実施してみた。インストールされたそれぞれのコンポーネントがコピーされたディレクトリに移動して以下のコマンドを実行

for %%i in (MSOWC*.dll) do RegSvr32 -u %%i
for %%i in (MSOWC*.dll) do RegSvr32 -s %%i

その上でactを再インストール。駄目だ...

結局、前のエントリでも解説したようにactを再インストールして、その後、以下のサービスパックを実行することで、やっとactのチャート機能が復活した。
Visual Studio .NET 2003 Service Pack 1 MSOWC.DLL セキュリティ更新プログラム


この辺、表示されるようになった原因が分からなくて気持ちが悪いのだが、サービスパックでアップデートされたMSOWC.dllは新たに以下にインストールされたことが解っている。

C:\Program Files\Microsoft Office\Office\MSOWC.DLL

これが正しいバージョンだったのだろうか。それとも正しく登録されただけなのだろうか。


それにしても、インストールする度に必要なコンポーネントの不在に泣き、バージョンで泣くってのは勘弁してほしいもんだ。
コンポーネント指向は良いことだが、このように単独でインストールして使用するツール類は、最初からそれを前提にパッケージしてくれよな。

追記:Visual Studio .NET 2003 Service Pack 1 によってアップデートされたMSOWC.DLLがactから使われていることを確認した。

C:\Windows\system32>handle MSOWC.DLL

Handle v3.42
Copyright (C) 1997-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

act.exe            pid: 688     260: C:\Program Files\Microsoft Office\Office\MSOWC.DLL

こいつのお陰でチャート機能が復活したのは間違い無いようだ。