Error "Cannot open the file: mk:@MSITStore"

Please post all questions and comments regarding Help & Manual 7 here.

Moderators: Alexander Halser, Tim Green

Post Reply
Lex Lennings
Posts: 32
Joined: Wed Jun 20, 2007 2:45 pm
Location: Utrecht, Netherlands
Contact:

Error "Cannot open the file: mk:@MSITStore"

Unread post by Lex Lennings »

When publishing my Help file to create a HTML Help file, the resulting .chm file all of a sudden gives the error
---------------------------
Cannot open the file: mk:@MSITStore:R:\Dp70\HelpSources\DeskProto_en.chm.
---------------------------

The error can also mention for one of the .htm Topic IDs, for instance
---------------------------
Cannot open the file: mk:@MSITStore:R:\Dp70\HelpSources\DeskProto_en.chm::/hid_mainframe.htm.
---------------------------

This depends on which page in active in Help and Manual when publishing.
My Help and Manual is Version 7.3.1 Build 4180

So far I found forum issue https://helpman.it-authoring.com/viewtopic.php?t=4821
- the first link (to "MJ's Diagnostics") is broken
- I then downloaded the Installer for MS HTML Help Workshop ("htmlhelp.exe"), uninstalled the current version, restarted the PC, ran the htmlhelp.exe setup and checked the path in Help and Manual
Unfortunately this did not fix the problem

The instructions for manually (un)registering DLLs are give only for WinXP and Win Vista.
As this is a very old forum page (2006 !) and I am running Win7 I have not tried one of these suggestions.

Would they still be valid ?
I hope that you can help me out as currently I am stuck and can no longer create a Help file.

Lex.
User avatar
Tim Green
Site Admin
Posts: 23153
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Re: Error "Cannot open the file: mk:@MSITStore"

Unread post by Tim Green »

Hi Lex,

There are a couple of possible causes for CHM failures of this kind. The most common is a graphics file that the (very ancient and creaky) Microsoft CHM compiler cannot handle correctly. This happens most frequently with BMP files that were saved with a graphics program that uses a non-standard encoding for BMP like run length encoding (RLE).

To test this, temporarily make Help & Manual unable to find the graphics in your project:

1) Make a copy of your project in a new folder with Save As in the File menu.

2) In the Project Explorer on the left, go down to Configuration > Common Properties > Project Search Path and delete ALL the entries there. Now the graphics are invisible and can no longer be found.

3) Recompile the CHM from the copy. If it works, you know that the culprit is one of your graphics.

To find out which one, create a new graphics folder inside the project folder you created above, add a Project Search Path reference for it and then add your graphics files to it successively, in small batches and recompile the CHM. When it fails, you've found the culprit.

Other possible causes:

Output Path, Output Drive:

The Microsoft CHM system often has problems with specific characters and combinations of characters in path, folder and file names. It will also fail to display correctly on external drives, network drives and mapped drives (external or network drives assigned to a local drive letter on your computer). To be sure of being able to test correctly after compiling, always publish to a folder on your local computer with a short, simple name, like \Documents\Help\ for example.

Note that CHM is a local help system only. Windows blocks it on external drives, network drives and the Internet for security reasons.

Illegal and Special Characters:

Another frequent cause for problems like this is illegal characters in the path to the CHM file, the CHM file name or topic IDs in your project. Microsoft has not updated the CHM help system since it was introduced with Windows 98. It is highly allergic to special characters in file names and paths to CHM files. Spaces in folder names are OK, but there should be no spaces in the name of the CHM file itself. Accented characters and non-alphanumeric characters like # or the ' apostrophe in paths, filenames or topic IDs can cause serious errors.

Both the name of your project and the IDs of all the topics in your project (which you can check in the Topic Options tab) should avoid spaces, accented characters and all non-alphanumeric characters. The best policy is to use only A..Z, a..z, 0..9 and the _ underscore character in all file names and topic IDs.

Damaged CHM Compiler:

You have already reinstalled HTML Help Workshop so this probably doesn't apply, but here are the instructions anyway for the sake of completeness:

For reasons that are still unknown, the Microsoft CHM compiler can occasionally spontaneously become damaged or lose its configuration settings. The only solution for this is to uninstall and reinstall the MS HTML Help Workshop compiler package, which you can download with this link:

https://www.helpandmanual.com/download/htmlhelp.exe

First uninstall HTML Help Workshop in the Windows Control Panel. Then restart Windows and reinstall with the installer from the link above.

Important Note: During the installation you will get a misleading message telling you that you "already have a newer version of HTML Help". Ignore this. This only refers to the components for displaying HTML Help, which the package would like to install as well. Since it dates from 1998, all Windows versions now have newer versions of these components so they are not needed. This has nothing to do with the compiler, which is always installed. ;-)

Open Help & Manual and check in View > Program Options > Compilers (HM5 and later) or Tools > Customize > Compilers (HM4 and earlier) that the path to the hhc.exe CHM compiler program is correct.

If you continue to have problems please mail me the project at support AT ec-software.com (replace the AT with @) and we will check it here.
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
Lex Lennings
Posts: 32
Joined: Wed Jun 20, 2007 2:45 pm
Location: Utrecht, Netherlands
Contact:

Re: Error "Cannot open the file: mk:@MSITStore"

Unread post by Lex Lennings »

After a number of direct emails with Help&Manual support, Tim Green found the cause of the error:
We've now done a systematic check on your images and it was just one image that was causing the issue, as is usually the case. I attach a re-saved copy of the culprit that will solve the problem.

This is an ancient bug in the Microsoft CHM compiler that can appear at any time. We can't predict when and where it will occur, because neither we nor Microsoft know what causes it (at least, MS isn't saying). The issue wasn't turning up on my machine because I use a Surface device from Microsoft, which appears to be more Windows compatible than anything else (so maybe they do know what causes the bug...)

This is the procedure for locating the image that causes the problem:

1- Move all the images to a temporary folder that is not in the project search path.
2- Compile to CHM. Turn the option "Delete temporary files" ON when you do this! (Otherwise the images from the previous compiles will be available in the temp folder and will sabotage the test.)
3- Add a small group of images to the folder and recompile. Repeat until the error occurs.
4- Remove all the images from the last batch except one and recompile.
5- Add the remaining images from the last batch one by one and recompile until the error occurs. Now you have one culprit.
6- Repeat steps 3-5 to make sure there aren't any more problematic images.

Then load the culprit images into a current graphics program (Impict is fine for this) and re-save them. If that fixes it then everything is fine. Otherwise you will also need to change their names. We have see both the internal format and the image file name and a combination of the two cause this bug. However, there is no rhyme or reason to it and no discernible pattern in the names that trigger the bug.
The similar tests that we had done before had not succeeded as for us the option "Delete temporary files" was off.

Compliments to Help&Manual for the great support !

Lex.
Post Reply