Set Wine's Windows version to Windows 2000 (or above) via winecfg.
Install necessary dependency:
$ winetricks mfc40
Alternatively manually download and install Microsoft Foundation Classes update:
$ wget http://activex.microsoft.com/controls/vc/mfc40.cab $ cabextract mfc40.cab $ wine mfc40.exe
Download Microsoft HTML Help Workshop and install it as (from non-noexec FS!!):
$ wine htmlhelp.exe
Install itircl.dll and itss.dll from hhupd.exe which available in installer or in ~/.wine/drive_c/Program Files/HTML Help Workshop/redist:
cabextract -F hhupd.exe htmlhelp.exe cabextract -F itircl.dll hhupd.exe cabextract -F itss.dll hhupd.exe cp -a itircl.dll ~/.wine/drive_c/windows/system32/ cp -a itss.dll ~/.wine/drive_c/windows/system32/
You must add exception for hhc.exe and hhw.exe to use native variant of itss.dll via winecfg. Note: don't set itss.dll to native by default becase then wine hh wouldn't work.
See:
$ sudo apt-get install xchm $ sudo apt-get install gnochm $ wine hh $FILE
For Windows:
cmd> hh.exe -decompile %OUTDIR% %INFILE%.chm cmd> 7z x -o%OUTDIR% %INFILE%.chm
Under Linux:
$ 7z x -o$OUTDIR $INFILE.chm $ sudo apt-get install libchm-bin $ extract_chmLib $INFILE.chm $OUTDIR
In order to show Cyrillic tests in hh.exe or xchm:
Use cp1251 or cp866 encoding for .html files.
Place corresponding:
<meta http-equiv="Content-Type" content="text/html; charset=cp1251">
or:
<meta http-equiv="Content-Type" content="text/html; charset=cp866">
into into <head> tag of your .html files.
Use cp1251 encoding for .hhc and .hhk and .stp files.
Add correcponding settings into your .hhp file:
[OPTIONS] Language=0x419 Russian
<meta charset="cp1251"> works for hh.exe but not for xchm.
Because cp1251 contains all Cyrillic letters while cp866 only Russian and content/index file require only cp1251 I recommend to use only cp1251 for .html files.
See: