標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

Windows 8.1(64bit) に 32bit 系 OCX をインストールする

とある OCX を導入しようとしたが、うまくゆかない。手順書には C:\Windows\system32 へコピー後、regsvr32 C:\windows\system32\xxxxx.ocx とあるが、コピーそのものができないのか、regsvr32 がファイルが見つからないというエラーが出る。

(無論、管理者権限にはしている。本来はここでエラーメッセージを引用すべきだが、実は解決して、コピーできなくなってしまったw)

そして、手製のバージョン確認ツールでも同ファイルを見ようとすると、同じようなエラーが出る。ただし、コピー元(デスクトップ)で実行すると、きちんとバージョン番号が出る。これはセキュリティー的な問題か!?

で、ググってみたところ、OCX の種類は違うが次のようなページにたどり着いた。

ここにある記載を真似て、コピー先を C:\Windows\System32 ではなく、C:\Windows\SysWOW64 にしてみたところ、regsvr32 も問題なく OCX を読み込むことができるようになった。wfile にも大丈夫だった。

その後、リポート用に上のエラーを再現させようと、C:\Windows\System32 に置いたバージョンについて wfile を実行してみたところ、エラーが出なくなってしまった! このあたり、Windows のパスを差し替えるセキュリティー機能のせいだと思うけど、なかなか難しい話だなぁ (どういうルールでこうなったか、よく分かっていない)