wine
バグ
レジストリ
本物
regsvr32

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を使う

を参照の事。