[目次] (https://qiita.com/Yutaka_Aoki/items/9d38ea98406f4096435b)
Inside Wine; 本物の regsvr32.exe を使う。
結論から言うと、wine 付属の regsvr32.exe には不具合があり、正常に機能していません。本来なら、登録する COM (ActiveX など) に対応する UUID がレジストリに登録されるはずなのですが、実際には何も登録されないからです。そこで、本家の regsvr32.exe を使います。
前提
まず、以下を参照して、
リンク: [本物の regedit を使う] (https://qiita.com/Yutaka_Aoki/items/7070cdcc5b9393389470)
↑ 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を使う] (https://qiita.com/Yutaka_Aoki/items/7070cdcc5b9393389470)
を参照の事。