Wine上のHTML Help Workshopの動作

Last modified: 2019-04-05

インストールと実行

インストール

Winetricksのhhwをインストールするのが最も楽。手動でファイルをダウンロードしてインストールする場合に足りなくなることのあるDLLのインストールやその設定も行われる。

(WinetricksでHTML Help Workshopをインストール)
$ (WINEPREFIX=[Wine環境の場所]) winetricks hhw

手動でインストーラHTMLHELP.EXEを実行すると本体のファイルはインストールされるが、自動的に実行されるインストーラhhupd.exeがWine内蔵版のhhctrl.ocxの関係で “This computer already has a newer version of HTML Help.” のダイアログを表示する。 また、hhupd.exeはWindowsのバージョンが98/95/NT4/NT3.51のときにしか中のファイルをコピーせず、64bit対応の仮想Windows環境ではこれらのバージョンに設定することはできない。

GUIプログラムの実行

(64bit対応の仮想Cドライブが使用されている場合の起動)
$ (WINEPREFIX=[Wine環境の場所]) wine "C:\Program Files (x86)\HTML Help Workshop\hhw.exe"

(64bit非対応の仮想Cドライブが使用されている場合の起動)
$ (WINEPREFIX=[Wine環境の場所]) wine "C:\Program Files\HTML Help Workshop\hhw.exe"

注意点

処理対象のHTML文書のエンコーディング

Windowsと同様にCP932にする必要がある。

手動インストール時にGUIが起動しない場合の対処

GUIアプリケーションhhw.exemfc40.dllを要求するため、別途同DLLをインストールする必要がある。Winetricks以外ではWindows用ソフトウェアの配布サイトでランタイムパッケージを探すことで見つけられる。

手動インストール時のコンパイル(CHM出力)処理失敗とその対処

Wineの一部DLLの実装の問題により、コンパイル処理は失敗する。

対処として、以下のネイティブ版DLLのファイルとそれらに対してネイティブ版を優先させるDLLオーバーライド設定およびregsvr32による登録が必要。

  • itircl.dll
  • itss.dll
(DLLを配置した後に行う登録処理)
$ (WINEPREFIX=[Wine環境の場所]) wine regsvr32 itss.dll itircl.dll

Winetricksのhhwは上記全ての作業を自動化している。