https://bugs.winehq.org/show_bug.cgi?id=47667
Bug ID: 47667 Summary: Problems with hh.exe reading CHM files Product: Wine Version: 4.0.1 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: macdis@gmail.com
I have experienced serious problems with Wine's internal CHM reader, which does not seem to be compatible with some CHM files.
Running Wine 4.0.1 stable on MacOS Mojave 10.14.6 installed via "brew install wine".
STEPS TO REPRODUCE:
- Open an affected CHM file with "wine hh file.chm"
Note: the CHM files I've tried work flawlessly under Windows XP using native hh.exe.
ACTIONS THAT INITIATE PROBLEMS:
- Attempt to do either a global search (using the "Search" tab)
- Attempt a page search (using Ctrl-F)
- Attempt to navigate through the document with links on the document's home page.
PROBLEMS ENCOUNTERED:
- No results are given for valid searches.
- Home page links do nothing when clicked on.
WHAT DOES WORK:
I can navigate through the document by clicking on links in the "Contents" tab.
SOLUTIONS ATTEMPTED:
- Use a manually installed alternative hh.exe from an original Windows XP and a Windows 7 installation disk. Result: I cannot bypass Wine's internal CHM viewer.
- Use a manually installed alternative hh.exe, renamed hhxp.exe (for example), and changing the registry key at "HKCR\chm.file\shell\open\command" so that it points to hhxp.exe. Result: I cannot bypass Wine's internal CHM viewer.
- Install an alternative CHM viewer, such as kchmviewer. Result: the file opens, but navigation and searching are impossible. This may be a problem with kchmviewer, but I include it here as additional information.
SOLUTION PROPOSED:
- Allow the user to bypass Wine's internal CHM viewer by enabling usage of the standard hh.exe, or allow usage of a manually installed hh.exe from a standard Windows installation.
https://bugs.winehq.org/show_bug.cgi?id=47667
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #1 from Austin English austinenglish@gmail.com --- Try setting hh.exe to native in winecfg.
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #2 from macdis macdis@gmail.com --- Created attachment 65117 --> https://bugs.winehq.org/attachment.cgi?id=65117 Back trace for hh.exe problem
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #3 from macdis macdis@gmail.com --- Hi, I guess you mean changing hhctrl.ocx to native on the Libraries tab. The result of that is that hh.exe crashes on launch. (One odd thing is that the back trace says that hh.exe is in C:\windows\system32 whereas it's in C:\windows. Just for fun, I tried copying hh.exe to the system32 directory, with the same result.)
One other thing: I had changed a few winecfg settings prior to encountering this problem. So (again) just for fun, I tried the whole thing over again with a brand new wine prefix. Same result. Back trace attached.
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #4 from Austin English austinenglish@gmail.com --- No, I mean add hh.exe to the dll overrides in winecfg (it's not obvious, but you can override exes too).
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #5 from macdis macdis@gmail.com --- (In reply to Austin English from comment #4)
No, I mean add hh.exe to the dll overrides in winecfg (it's not obvious, but you can override exes too).
Interesting. However, the result is this error message:
wine: cannot find L"C:\windows\system32\hh.exe"
Is the "L" before the path a problem?
Also: hh.exe is not in C:\windows\system32 by default, it's in C:\windows. Copying it to system32 gives this result:
wine: cannot find L"C:\windows\hh.exe"
But hh.exe is still in the windows directory (since it was only copied to system32).
https://bugs.winehq.org/show_bug.cgi?id=47667
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #6 from Fabian Maurer dark.shadow4@web.de --- Where can we get an "affected chm file"?
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #7 from macdis macdis@gmail.com --- (In reply to Fabian Maurer from comment #6)
Where can we get an "affected chm file"?
Sure, I'll attach a zip file (if allowed) and a screenshot of a global search working in a Parallels VM running XP. (Yes, I have it working in Parallels, but for a lot of reasons I want to move away from that solution towards Wine.)
The main CHM (the one to open) is in the base directory of the zip file. There are subfiles in the "DATEN" directory. These are accessible from the main interface when the main CHM in the base directory is opened.
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #8 from macdis macdis@gmail.com --- Created attachment 65124 --> https://bugs.winehq.org/attachment.cgi?id=65124 Sample CHM files
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #9 from macdis macdis@gmail.com --- Created attachment 65125 --> https://bugs.winehq.org/attachment.cgi?id=65125 Screen shot
https://bugs.winehq.org/show_bug.cgi?id=47667
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #10 from Fabian Maurer dark.shadow4@web.de --- Confirming the issue(s). Got page search (Ctrl-F) to work with the following steps:
- Create fresh WINERPEFIX with WINEARCH=win32 - Copy hhctrl.ocx from XP system32 into wine system32 - Add dll override for "hhctrl.ocx" - winetricks -q ie8 - Add dll override for "ieframe"
For global search, add the following steps: - Copy itircl.dll from XP system32 into wine system32 - wine regsvr32 itircl.dll
This is a bunch of independent issues though, and must be split into different bug reports.
Question, does this only happen for some CHM files or for all of them?
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #11 from macdis macdis@gmail.com --- (In reply to Fabian Maurer from comment #10)
Confirming the issue(s). Got page search (Ctrl-F) to work with the following steps:
- Create fresh WINERPEFIX with WINEARCH=win32
- Copy hhctrl.ocx from XP system32 into wine system32
- Add dll override for "hhctrl.ocx"
- winetricks -q ie8
- Add dll override for "ieframe"
For global search, add the following steps:
- Copy itircl.dll from XP system32 into wine system32
- wine regsvr32 itircl.dll
This is a bunch of independent issues though, and must be split into different bug reports.
Question, does this only happen for some CHM files or for all of them?
This almost works. Ctrl-F works fine. However, two major things do not quite work yet:
1. The table of contents does not display in the "Contents" tab, either initially or when viewing different parts of the document. This would usually be the case (I'm attaching a screenshot of a working table of contents window from my Parallels installation). A table of contents does appear in the *main* window (i.e., the home page of the document), but I can no longer navigate through the subdocuments manually via the "Contents" tab. (Manual navigation via the "Contents" tab is the one thing that worked in the Wine native viewer.)
2. After a global search, I can select *one* passage to view from the results of the search. However, I cannot select any other passages after that. In other words, the search results links go dead after one selection.
Perhaps both of these issues are really just one issue, such as a navigation problem via the tabs windows ("Contents", "Search")?
To respond to your question: I don't have a lot of CHM files to test, but I did look at a few from an XP installation. Your technique usually allows a table of contents to be displayed and navigation generally works. In some documents, in the search window I can select from a list of keywords (if the document has keywords defined). However, in global searches, I can only select one result (as described above--I can't select any other results afterwards.
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #12 from macdis macdis@gmail.com --- Created attachment 65130 --> https://bugs.winehq.org/attachment.cgi?id=65130 Working Table of Contents screenshot
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #13 from Fabian Maurer dark.shadow4@web.de --- That looks like a bunch of problems though, and some might even be causes by my workarounds.
As a said, could you please report each separate issue (without using workarounds) as separate bug, and link them here?
https://bugs.winehq.org/show_bug.cgi?id=47667
--- Comment #14 from macdis macdis@gmail.com --- (In reply to Fabian Maurer from comment #13)
That looks like a bunch of problems though, and some might even be causes by my workarounds.
As a said, could you please report each separate issue (without using workarounds) as separate bug, and link them here?
Done. The three bugs mentioned are now at:
Ctrl-F: https://bugs.winehq.org/show_bug.cgi?id=47678
Global Search: https://bugs.winehq.org/show_bug.cgi?id=47679
Home page links: https://bugs.winehq.org/show_bug.cgi?id=47680