Help us understand the problem. What is going on with this article?

Wine; 本物の regsvr32.exe を使う

More than 1 year has passed since last update.

目次

Inside Wine; 本物の regsvr32.exe を使う。

結論から言うと、wine 付属の regsvr32.exe には不具合があり、正常に機能していません。本来なら、登録する COM (ActiveX など) に対応する UUID がレジストリに登録されるはずなのですが、実際には何も登録されないからです。そこで、本家の regsvr32.exe を使います。

前提

まず、以下を参照して、

リンク: 本物の regedit を使う

↑ ulib.dll と clb.dll を windows 本家の /windows/system32 から、./wine の system32 にコピーしておきます。それをやっておかないと、本家の regsvr32.exe も正常に機能しないかもしれませんので、絶対に先にやっておいてください。

具体的なやり方

例えば、HTML HELP の機能を担う ActiveX であるところの hhctrl.ocx を登録したい時は、こうします :

wine /media/XXXXX/WINDOWS/system32/regsvr32.exe hhctrl.ocx

/media/XXXXX の部分は、本家の Windows ドライブの Linux におけるパス名になります。

直後に hhctrl.ocx の UUID をレジストリで検索してみると、正常な位置にちゃんと登録されている事を確認できます。

また、この例の場合 実験的にも、MSDN Libary の索引(index)検索が正常に機能するようになることを確認しています。

備考

レジストリの検索には、Wine 付属の regedit.exe は使えません。代わりに、本家 Windows の本物の regedit.exe を使います。既出ですが、詳細は:

本物のregeditを使う

を参照の事。

Yutaka_Aoki
物理をライフワークにしています。プログラミングはサブなので人生の目標にはできません。どうでもいいことかもしれませんが、この事情を知っておいていただければ幸いです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away