After upgrade from Win 7 to Win 10, while 2 days ago i was trying to continue with my program development, i have realised the programming .HLP files can no longer open. So as usual i google for more info and have found out Win 10 does not support .HLP files.
Info from the internet has suggested that many solutions are available.
https://windowsreport.com/open-hlp-files-windows-10/
https://answers.microsoft.com/en-us/windows/forum/windows_10-files/cant-open-hlp-files-with-windows-10/55ce10b8-e865-4c68-b2c8-c62318fe39b7
The 1st method is to decompile the hlp file (use HelpNDoc6 ) and than compile it to chm (use HTML Help Workshop) from Microsoft. However, i have encountered many problem like error in decompile large hlp file and unable to compile to chm file because of the following.
https://stackoverflow.com/questions/54219263/windowshelp-to-htmlhelp
http://www.help-info.de/en/Help_Info_WinHelp/hw_converting.htm
HelpNDoc6 cannot decompile a large 4.7MB hlp file.
Refer to http://www.help-info.de/en/Help_Info_WinHelp/hw_converting.htm, this site has suggested to use automatically create contents file (.hhc) when compiling but still doesn't work. Trying another method to use HHPmod to finishing up the HH workshop conversion finally able to create chm but the content is missing.
Also take note on this, sometimes there are problems using the context menu of a *.hhp file from Windows Explorer. (Open with Microsoft HTMLHelp Workshop). A DOS path quotation is the cause. Start HTMLHelp Workshop from the Start menu and use File | Open.
And converting from Winhelp to HTML Help leaves Bitmaps Behind. When you use the HTML Help Workshop to convert a Winhelp project to an HTML Help project, bitmaps in the .rtf files are not transferred to the HTML Help .htm files.
In addition when migrating from WinHelp to HTMLHelp there seems to be an issue with context sensitive help. It appears all this information is lost when converting is done?
The 2nd method is to convert hlp to PDF. This is a relatively simple procedure. But PDF does not has a contents menu and a index input column for wild search.
The 3rd method is to replace winhlp32.exe and winhlp32.exe.mui (for error 9009 which is to require for localization in your own language) from Win 8. Download 'Windows8.1-KB917607-x64.msu'. Do not install because it will display the update incompatibility message.
https://www.tenforums.com/general-support/16982-cant-read-older-hlp-files-windows-10-a-5.html#post529881 (post #46)
https://www.tenforums.com/general-support/16982-cant-read-older-hlp-files-windows-10-a-10.html (post #96)
https://www.tenforums.com/general-support/16982-cant-read-older-hlp-files-windows-10-a-6.html#post578103 (post #57)
https://www.tenforums.com/general-support/108565-how-open-old-hlp-files-windows-10-a.html (Search for a ready to download Help.rar to install winhlp)
https://www.trishtech.com/2015/12/how-to-open-hlp-winhelp-files-in-windows-10/
Now follow closely to this site https://blog.spectologic.com/2015/09/09/using-hlp-files-in-windows-10/. Some steps i use command prompt like taking ownership and other i use software ZipWare to extract files.
Extracte the content of 'Windows8.1-KB917607-x64.msu' to a temp folder (i create ContentMSU in Drive O) with ZipWare (freeware).
Create subfolder ContentCAB in ContentMSU and extract content of 'Windows8.1-KB917607-x64.cab' to ContentCAB. Go to ContentCAB to find subfolder amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.3.9600.20470_en-us_c3a9a33a1aee3495 as 'en-us' is my language settings. Go to the subfolder we will find 'winhlo32.exe.mui'. We need to replace %SystemRoot%\en-us\winhlp32.exe.mui (C:\Windows\en-us\winhlp32.exe.mui) with the new file.
In command prompt, change directory to c:\Windows\en-us. Than take ownship for winhlp32.exe.mui by command
https://helpdeskgeek.com/windows-7/windows-7-how-to-delete-files-protected-by-trustedinstaller/
takeown /f "winhlp32.exe.mui"
takeown /F <file_name> [/S <RemoteComputerName>] [/U <Domain\DomainUserName>] [/P <UserPassword>] [/A] [/R [/D prompt]]
Parameters of the takeown command:
/F <file_name>. Here you must specify the full path to the file or directory whose owner you want to change. You can use the wildcard character
https://theitbros.com/using-takeown-exe-command-to-take-ownership-of-file-or-folder/
Grant full control permission to winhlp32.exe.mui
icacls "winhlp32.exe.mui" /grant "%UserName%":F
https://ss64.com/nt/icacls.html
Rename existing winhlp32.exe.mui
ren winhlp32.exe.mui winhlp32.exe.mui.w10
Copy new winhlp32.exe.mui to current en-us folder.
copy O:\ContentMSU\ContentCAB\amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.3.9600.20470_en-us_c3a9a33a1aee3495\winhlp32.exe.mui winhlp32.exe.mui
(You can open windows folder to copy the file instead of typing command in command prompt)
For winhlp32.exe, it is the same procedure except source folder is C:\Windows
In command prompt, change directory to c:\Windows. Than take ownship for winhlp32.exe.
takeown /f "winhlp32.exe"
Assign permission to winhlp32.exe
icacls "winhlp32.exe" /grant "%UserName%":F
Rename existing winhlp32.exe
ren winhlp32.exe winhlp32.exe.w10
Copy new winhlp32.exe to current c:\Windows folder.
copy O:\ContentMSU\ContentCAB\amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2\winhlp32.exe winhlp32.exe
(Like above, You can open windows folder to copy the file instead of typing command in command prompt)
Now the hlp files should open successfully.
No comments:
Post a Comment