Vista、Win7でIV32コーデックを使って動画を見る方法

タグ: , , - 八環 英樹 @ 19:13:50 2008/11/19 水曜日

かつて、Ogg theoraのようなフリーのコーデックが無かったころのお話。ゲームのムービー等には、Windowsに標準搭載されていて、画質が安定しているコーデックが好まれていました。このとき比較的よく使われていたのがIntel Video、通称Indeoです。Windows VistaやWindows 7では、このコーデックがシステムフォルダに同梱されているにも関わらず、Indeoで圧縮された動画を再生できません。コーデックはあれど、システムに登録されていないからです。このため、Indeoを使っていた昔のゲームを動かすと、ムービーパートでエラーが起きて物悲しい思いをすることになります。

そこで、Indeoコーデックをシステムに登録する方法を紹介します。方法は至ってシンプル。ファイル自体は既に存在するので、レジストリにその情報を書き込むだけです。

ここで注意しなければいけないことが1つあります。Indeoコーデックは32bit版しか存在しません。そのため64bit版のVistaやWin7を使っている人は、レジストリの登録先を"Wow6432Node"に変えなければなりません。もちろん、64bitアプリケーションからは使えませんので、再生には32bitアプリケーションが必要になります。

以下はIntel Video 3.2(IV32)とIndeo5のレジストリ設定例です。そのまま使えるように、32bit(x86)と64bit(x64)用も含めて4種類用意しました。ご自分の環境に合ったものをメモ帳にコピー&ペーストし、"IV32_x86.reg"と言うようなファイル名で保存して下さい。出来たファイルをダブルクリックするだけでIndeoが登録されるようになっています。Indeo4(ir41_32.ax)は試していませんので、使いたときは例を参考にして修正を加えてください。

Windows Registry Editor Version 5.00

;IV32 for 32bit Vista & Win7 (IV32_x86.reg)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"vidc.iv32"="ir32_32.dll"
Windows Registry Editor Version 5.00

;IV32 for 64bit Vista & Win7 (IV32_x64.reg)

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32]
"vidc.iv32"="ir32_32.dll"
Windows Registry Editor Version 5.00

;IV50 for 32bit Vista & Win7 (IV50_x86.reg)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"vidc.iv50"="ir50_32.dll"
Windows Registry Editor Version 5.00

;IV50 for 64bit Vista & Win7 (IV50_x64.reg)

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32]
"vidc.iv50"="ir50_32.dll"

これで、あっさりとIndeoコーデックが有効になったと思います。しかし、後方互換性のためだけに残されている古いコーデックなので、VistaやWin7ではなるべく使わないに越したことはありません。

2008年冬、64bit OS時代到来

タグ: , , , , - 八環 英樹 @ 02:30:26 2008/11/18 火曜日

今年2008年冬の年末商戦以降、一気に64bit OSが浸透するかもしれません。これはWindows Vista登場間近から噂されていた事ですが、いよいよ現実味を帯びてきました。

去年から続いていたDDR2 SDRAMの大暴落は、PCのメモリ搭載量を飛躍的に押し上げる要因となったのは記憶に新しいところ。今や、新しいPCでメモリ合計4GB未満を選ぶことは、余程の理由がない限り避けたほうがいいでしょう。少ない投資で快適さを得るならメモリの増量が一番効果的だからです。例えば、複数のアプリケーションを起動したときに、ガリガリと音を立てて動作が重くなるHDDスワップも、大容量メモリなら回避出来ます。

さて、ここで問題となるのがOSの認識出来る最大メモリ量。今、一番普及しているWindows XPは、多くの人が32bit版を使っていることでしょう。この32bit版XPで扱えるメモリの最大値は、2の32乗である4GBまで。実際はOSの制限で3GB程です。余剰メモリをRAMドライブとして使用することを抜きにすれば、Windows XPの機能だけでは、どうがんばっても、それ以上認識させることは不可能。そこで、標準で4GB以上のメモリを扱える64bit OSに注目が集まってきたのです。海外のPC通販サイトでは、OSにWindows Vistaの64bit版を搭載するのが主流になってきています。その効果もあってか、Vistaにおける64bit版の割合は、2008年10月に全ユーザの20%を超えました

では、64bit OSを使用するにあたり、注意しなければいけない事はなんでしょうか?2つあります。

1つは、使用中の機器に対応したドライバが存在するか。32bit用のドライバは流用できません。Vista発売時に散々言われていたデメリットです。しかし、それも今では解消されました。有名なメーカーの機器なら、64bit版ドライバが提供されていますので安心してください。また、サポート期間の過ぎた古い機器でも、OSに標準で用意されていたり、メーカーのサイトで公開されている場合があります。例外として、新製品でも地デジ用チューナーボードだけは注意しなければなりません。国内メーカーの製品は、どれも32bitドライバしか提供されておらず64bit OSで使用不可能。これは販売側の怠慢としか思えません。しかも、酷いメーカーになると、64bitドライバを提供していないのにVistaロゴに似せたマークを印刷して販売しています。有名なメーカーでも、日常的に行っている商法なので、64bit OSを使うときは十分注意してください。

2つ目は、使用中のアプリケーションが対応しているかどうか。現行の32bitアプリケーションであれば、驚くほど何の障害もなく動作します。問題なのは「16bitアプリケーション」と「特殊なドライバが必要」な場合です。Windows 95時代のアプリケーションは、インストーラーや本体が16bitの物が多く存在しました。64bit OSでは、「16bitアプリケーション」のサポートが切り捨てられてしまったので、それらを動かすことは出来ません。どうしても動かしたいのであれば、仮想環境にWindows 95をインストールして使ってみてください。

「特殊なドライバが必要」なケースのほうは、最近の32bitアプリケーションでも起こります。一番問題になりそうな例をあげると、不正使用防止のために設けたセキュリティ機構が該当します。一時期騒がれた、ルートキットまがいのドライバをOSに寄生させアプリケーションを監視するタイプは、最早絶望的です。64bit Windowsでは、未署名のドライバ、32bit以下のドライバはインストールできません。これらが代替の利くアプリケーションなら、使用を諦めれば済む話です。ですが、思い入れのあるゲームだったりしたら、泣かざるを得ません。とりあえず最良の解決策は、「古いOSを仮想環境のために保管しておく」、「ゲームは買ったら早い内に遊び、飽きるまでやり尽くす」ことです。

これら以外にも64bit OSの特徴が上手くまとまった特集記事が下記にありましたので、時間があれば読んでみてください。

64bit Vista完全導入ガイド (DOS/V Power Report - Impress)

最後に、もう1つ。別途、開発者が注意しなければいけないことがあります。64bitアプリケーションの作成のとき、OSのAPIやコンパイラがサポートしているデータモデルを常に意識しておく必要があります。C/C++を例にお話をします。64bit WindowsのVC++はLLP64モデルを採用しており、short int:16bit、int:32bit、long int:32bit、long long int:64bit、pointer:64bit。対する64bit Linux系のGCCはLP64モデルが採用され、long int:64bitだけ、LLP64モデルと異なっています。この相違点は、マルチプラットフォームでの開発で問題になります。LP64モデルを想定して作ったアプリケーションをLLP64モデルの環境でコンパイルすると、桁落ちを起こし異常動作するかもしれません。回避策は相違点のあるlong intを使わない、もしくはstdint.h(inttypes.h)をインクルードして明示的に変数幅を固定すること。それさえ守れば、OSやコンパイラ間、そして、32bitアプリケーションとの互換性を維持するのも難しくはないでしょう。

64bit#64ビットデータモデル (Wikipedia)

64ビットになると何が変わる?――64ビットプログラミングのデータモデル (2/2) (ITMedia)

Linuxと64bit環境 (VA Linux Japan株式会社)

2008年11月16日、Intelの新CPU、Core i7が発売されました。ハイパースレッディングによりOS上からは8コアに見えるそうです。対応マザーボードは、DDR3 SDRAMを3チャンネル単位で使うことが推奨され、合計6枚も挿せます。これは最大24GBのメモリが使えることを意味します。新しいPCの購入を考えている方は、これを機に思い切って64bitOSの世界に足を踏み入れてみては如何でしょうか。

2008年11月19日追記:デルを含む各ショップブランドから、OSにVista x64版を採用したCore i7搭載モデルが続々と販売開始されました。一応、XPにダウングレード出来るとこもあるようですが、メモリの問題も含め5年以上昔のOSで真価を発揮できるか疑問です。やはり、Vista x64版が妥当かと思います。

Thunderbirdのアップデートに失敗したときの対処法

タグ: , - 八環 英樹 @ 03:14:32 2008/10/02 木曜日

オープンソースのメールソフトThunderbird。先日、久々にアップデートされたのですが、ソフトウェアの更新に失敗してしまいました。何度リトライしてみても上手くいきませんでした。今回はそのような状況になったときの対処法を紹介します。

私が遭遇したのは、次のようなエラーでした。

Thunderbirdの更新に失敗

ソフトウェアを正常に更新できませんでした
1つ以上のファイルを更新できませんでした。他のすべてのアプリケーションが終了していること、ファイルの書き込み権限があることを確認の上、Thunderbird を再起動して再度試してください。

しかし、このダイアログだけではどのファイルが更新に失敗したのかわかりません。そこで、エラーの詳細を知るためにlast-update.logと言うテキストファイルを調べてみることにしました。Windows Vistaであれば、次の場所に保存されています。

C:\Users\<ユーザ名>\AppData\Local\Thunderbird\Mozilla Thunderbird\updates\last-update.log

last-update.logでエラー詳細を調査

どうやら、mozMapi32.dllの更新に失敗している様子。いくつかの文献を漁ったところ、このDLLに関連する障害はMozillaZineに掲載されていました。

Thunderbird 2.0 installation issues (MozillaZine)

If you get a "Error opening file for writing: r\n\r\nmozMapi32.dll\r\n\r\nClick Retry to try again, or\r\nCancel to stop the installation." error message it may be due to a Logitech webcam. If you having Thunderbird set as your default email program in the Quickcam software, Quickcam will not let Mozilla update the file. Disable the webcam (right-click Quickcam icon in system tray and select "Exit") and try again. A drastic alternative would be to rename the mozMAPI.dll file in the Thunderbird program directory. Another approach is to temporarily set Quickcam to use a different email program as default.

つまり、ロジクールのウェブカメラ用ユーティリティであるQcam.exeが起動しているのが原因です。Thunderbirdの更新の際には、一時的にタスクトレイから終了させておきましょう。Qcam.exeを終了させることで、あっさり更新出来ます。

諸悪の根源Qcam.exe無事、Thunderbirdの更新が完了

Qcamにはメール送信機能が備わっているのですが、今回の件で、待機中でも不必要にmozMapi32.dllを掴んでいる行儀の悪いユーティリティだとわかりました。ぜひ、ロジクールには改善してほしいところです。

他のソフト(アンチウィルスソフト等)でも、このようにThunderbirdのファイルを掴んでいるケースがあるかもしれません。もし、アップデートに失敗するようであれば、まずはlast-update.logを参照するところから始めてください。それが問題解決への近道です。

VistaからGoogle Chromeを完全に削除する方法

タグ: , , - 八環 英樹 @ 21:34:10 2008/09/10 水曜日

シンプルなUIで動作も軽快なブラウザGoogle Chrome。しかし、これをアンインストールした後も、Google Updaterという常駐プログラムが残って活動を続けます。そこでVista環境からGoogle Updaterを削除する安心安全な方法を紹介します。PCに詳しくない方でも手順どおりに行えば大丈夫です。なお、Google Toolbar等を使用中であれば削除しないほうがいいでしょう。

スタートアップにも登録されているGoogle Updater

まず、Google Updaterが常駐していたら終了させます。[Ctrl]+[Shift]+[Esc]キーを押して、[Windows タスク マネージャ]を表示させて下さい。[プロセス]タブをクリックし、プロセス一覧から"Google Updater"を探して下さい。もし、一覧から見つかったら"Google Updater"を選択し、右下の[プロセスの終了]ボタンを押して終了させます。一覧に存在しなければタスク マネージャを閉じて構いません。

次に定期的に実行されないようにタスク スケジューラからGoogle Updaterの登録を抹消します。[スタート]-[コントロールパネル]-[システムとメンテナンス]-[管理ツール]から[タスク スケジューラ]もしくは[タスクのスケジュール]を起動。UACが反応した場合は、内容を確認の上、[続行]ボタンを押して下さい。タスク スケジューラの左にあるツリーから[タスク スケジューラ ライブラリ]を選択。真ん中のタスク一覧の上段から、"GoogleUpdateTaskUser"を探し出し選択。[右クリックメニュー]-[削除]を実行。

タスク スケジューラからGoogleUpdateTaskUserを削除

最後に、Google Updaterの実体がある以下のフォルダを削除し、Vistaを再起動して下さい。

C:\Users\<ユーザ名>\AppData\Local\Google

以上でスタートアップの登録も解除され、二度とGoogle Updaterが起動することは無くなりました。更に完璧を求める上級者は、自己責任で次のレジストリエントリを削除して下さい。

HKEY_CURRENT_USER\Software\Google

それにしても、Googleストリートビューでプライバシー問題が浮上している最中、不要な常駐物を稼動させっぱなしにするとは困ったものです。もっとユーザの視点に立って開発してくれることを強く望みます。

Logicool製品にマルウェア?PowerRegisterの正体

タグ: , , - 八環 英樹 @ 21:18:07 2008/09/02 火曜日

皆さんのPCにPowerReg.datという身に覚えのないファイルが作成されていないでしょうか?Windows XPであれば次の場所にあると思います。

C:\Documents and Settings\<ユーザ名>\Application Data\Leadertech\PowerRegister\PowerReg.dat

Windows VistaやWindows 7なら、こちらの場所を確認してみて下さい。

C:\Users\<ユーザ名>\AppData\Roaming\Leadertech\PowerRegister\PowerReg.dat

これは、LeaderTech社のPowerREGISTERという業務用アプリケーションの一部です。ソフトウェアのセットアップ時に製品登録を促し、顧客データ収集率を高めるというもの。要するにユーザ登録代行システムです。マルウェアでは無い(はず)なのでご安心を。

LeaderTech PowerREGISTER (LeaderTech)

しかし、ユーザの気付かないうちにファイルを書き込み、レジストリにデータを登録することから、世界中のフォーラムで不審物扱いを受けています。インストールされたソフトの動作に不要な存在ですから尚更です。ファイルを丸ごと削除しても問題ありません。また、レジストリの操作に自信がある人は次のエントリーも消してしまうのがいいでしょう。

HKEY_CURRENT_USER\Software\LeaderTech

更に、[スタートボタン]-[スタートアップ]を確認して下さい。"Logicool-製品の登録"と言う項目が追加されていれば、それはPCの再起動毎にユーザ登録を促そうと、Logicoolが仕掛けたPowerRegisterの実行コードです(再登録画面自体は未確認)。

スタートアップに追加されたLogicool-製品の登録

これがスタートアップに登録されている限り、何度でもPowerReg,datとレジストリ項目は蘇って来ます。スタートアップから削除しておくといいでしょう。

このスタートアップショートカットのコマンドを見ると次のように書かれていました。

"C:\Program Files (x86)\Common Files\LogiShrd\eReg\SetPoint\eReg.exe" /remind /language=JPN /_WFM="."

つまり、PowerRegister本体はeRegフォルダ以下に存在します。前述のようにスタートアップから登録解除しておけば、今後起動することはないと思いますが、心配なら本体も削除してしまいましょう。但し、ドライバの実行に悪影響があるかもしれないので、慎重に判断して下さい。

さて、混入経路ですが、私が確認したのは唯1つ。LogicoolのマウスドライバSetPointからでした。LeaderTech社とLogicoolの本社Logitech、両社は紛らわしいほど名前が似ているため、気づかない人が多いかもしれません。残念なことに、2009年8月現在、日本公式サイトからダウンロードしたドライバにもPowerRegisterが採用されてしまいました。ドライバの新規インストール、自動アップデート双方で強制インストールされます。しかも、ドライバをアンインストールしてもスタートアップに登録されたままでした。

LeaderTech社が信用できない。不要ファイルを勝手に作られるのは気持ち悪い。そんな想いを抱いてる方は、この記事を参考にPowerRegisterの削除を実践してみて下さい。