Hi, I have been trying to configure Wine to associate kchmviewer with chm files in hopes of having kchmviewer launch whenever I push a help button within SkyTools 3 (http://www.skyhound.com). I am running Wine 1.3.18 under Ubuntu 10.10 on an amd64 machine. I followed the instructions in the Wine FAQ at http://wiki.winehq.org/FAQ#head-91bf3f0a8ccbfab8dee96f82fae2f1a489e0d243 and have tried both methods outlined there. But every time I open a chm file from within SkyTools, the system uses hh instead. And hh isn't properly reading the files. Further details are below. I have already spent quite a lot of time on this issue and any help would be very greatly appreciated! Mark P.S. I'd file a bug report for hh but I'm not free to share the chm files. --------------------------------------- The command line for directly using hh to attempt to read one of the chm files and the resulting error messages are below. --------------------------------------- mark at chimera:~/.wine/drive_c/Program Files/Skyhound/SkyTools 3$ wine hh SKYTOOLS3P.chm fixme:htmlhelp:HtmlHelpW Not all HH cases handled correctly fixme:shdocvw:PersistStorage_InitNew (0x165610)->(0x7ed2a544) fixme:urlmon:URLMoniker_BindToObject use running object table fixme:shdocvw:BindStatusCallback_OnProgress status code 11 fixme:shdocvw:handle_navigation_error Navigate to error page fixme:shdocvw:bind_to_object BindToObject failed: 80030002 --------------------------------------- I have also read many of the threads that show up as results when you search this Forum for "chm" and tried all of the permutations of corresponding registry entries that seemed reasonable. When I attempted to use the first method outlined in the FAQ, which invokes the system default handler for chm files, I set the default application via Nautilus and then used registry values analogous to those outlined in the FAQ. The remaining information pertains to using the second method outlined in the FAQ, which explicitly instructs Wine to execute kchmviewer. My script for executing a linux command from within Wine is #!/bin/sh $1 "`wine winepath -u "$2"`" It resides in /home/mark/bin/wine_run_linux_app. The permissions on the script are -rwxr-xr-x 1 mark mark 39 2011-04-25 16:02 wine_run_linux_app And my PATH is /home/mark/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games The file chm.reg that I created to modify the registry contains [HKEY_CLASSES_ROOT\.chm] @="chm.file" "Content Type"="application/x-chm" [HKEY_CLASSES_ROOT\chm.file\Shell\Open\command] @="/bin/sh wine_run_linux_app kchmviewer \"%1\"" And I used the command "regedit chm.reg" to load the changes into the registry. Later, I used regedit to manually try several other reasonable permutations of the corresponding registry values. I tried using double quotes around %1 on the command lines as above and omitting the quotes as below. I tried explicitly including /bin/sh as above and executing the script itself directly as below. I tried referring to the script simply by name or using the full path as below. And I tried all of the different possible combinations of these different possibilities. The stanzas in my registry that currently correspond to chm files are [HKEY_CLASSES_ROOT\.chm] @="chm.file" "Content Type"="application/x-chm" [HKEY_CLASSES_ROOT\chm.file] @="/home/mark/bin/wine_run_linux_app kchmviewer %1" [HKEY_CLASSES_ROOT\chm.file\shell] [HKEY_CLASSES_ROOT\chm.file\shell\open] [HKEY_CLASSES_ROOT\chm.file\shell\open\command] @="/home/mark/bin/wine_run_linux_app kchmviewer %1" [HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations\.chm] "AppName"="wine_run_linux_app" "DesktopFile"="/home/mark/.local/share/applications/wine-extension-chm.desktop" "MimeType"="application/x-chm" "OpenWithIcon"="17EA_wine_run_linux_app.0" "ProgID"="chm.file" [HKEY_LOCAL_MACHINE\Software\Classes\.chm] @="chm.file" "Content Type"="application/x-chm" [HKEY_LOCAL_MACHINE\Software\Classes\chm.file] @="/home/mark/bin/wine_run_linux_app kchmviewer %1" [HKEY_LOCAL_MACHINE\Software\Classes\chm.file\shell] [HKEY_LOCAL_MACHINE\Software\Classes\chm.file\shell\open] [HKEY_LOCAL_MACHINE\Software\Classes\chm.file\shell\open\command] @="/home/mark/bin/wine_run_linux_app kchmviewer %1" [HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Wine\FileOpenAssociations\.chm] "AppName"="wine_run_linux_app" "DesktopFile"="/home/mark/.local/share/applications/wine-extension-chm.desktop" "MimeType"="application/x-chm" "OpenWithIcon"="17EA_wine_run_linux_app.0" "ProgID"="chm.file"
m31ark wrote:> But every time I open a chm file from within SkyTools, the system uses hh instead.Post output of 'WINEDEBUG=exec wine SkyTools.exe' when you trying to open .chm file.
Thanks for responding, vitamin. Here you go. mark at chimera:~/.wine/drive_c/Program Files/Skyhound/SkyTools 3$ WINEDEBUG=exec wine SkyTools.exe fixme:wininet:InternetAutodial STUB fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (10000): STUB fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_DATA_RECEIVE_TIMEOUT (10000): STUB fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 30000 fixme:htmlhelp:HtmlHelpW Not all HH cases handled correctly fixme:shdocvw:PersistStorage_InitNew (0x1a1ea8)->(0x7da75544) fixme:urlmon:URLMoniker_BindToObject use running object table fixme:shdocvw:BindStatusCallback_OnProgress status code 11 fixme:shdocvw:handle_navigation_error Navigate to error page fixme:shdocvw:bind_to_object BindToObject failed: 80030002 fixme:shdocvw:PersistStorage_InitNew (0x1d3e10)->(0x7da75544) fixme:urlmon:URLMoniker_BindToObject use running object table fixme:shdocvw:BindStatusCallback_OnProgress status code 11 fixme:iphlpapi:NotifyAddrChange (Handle 0x7dee90c, overlapped 0x7dee8f0): stub fixme:win:EnumDisplayDevicesW ((null),0,0x1fd1e0c,0x00000000), stub! fixme:shdocvw:ClOleCommandTarget_QueryStatus (0x1d3ec0)->((null) 1 0x1fd2a28 (nil)) fixme:shdocvw:ClOleCommandTarget_QueryStatus command_0: 27, 0x0 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented group {000214d1-0000-0000-c000-000000000046} fixme:ntdll:NtLockFile I/O completion on lock not implemented yet fixme:shdocvw:ClientSite_GetContainer (0x1d3ec0)->(0x1fd29f8) fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented group {000214d1-0000-0000-c000-000000000046} fixme:mshtml:nsURI_GetAsciiHost Use Uri_PUNYCODE_IDN_HOST flag fixme:mshtml:nsURI_GetAsciiHost Use Uri_PUNYCODE_IDN_HOST flag fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 29 fixme:shdocvw:DocHostUIHandler_GetDropTarget (0x1d3ec0) fixme:shdocvw:ClientSite_GetContainer (0x1d3ec0)->(0x20aeff0) fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented group {000214d0-0000-0000-c000-000000000046} fixme:shdocvw:PropertyNotifySink_OnChanged unimplemented dispid 1005 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented group {000214d0-0000-0000-c000-000000000046} fixme:resource:GetGuiResources (0xffffffff,0): stub fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 28 fixme:shdocvw:ControlSite_OnFocus (0x1d3ec0)->(0) fixme:mshtml:HlinkTarget_SetBrowseContext (0x1eb6a8)->((nil)) The last two messages showed up when I closed the help windows.