Can't open CHM file with VS2010 style

Topics: User Forum
Feb 15, 2013 at 2:55 PM
I'm converting some existing projects to and I've run into a puzzling problem with one of them. When I build the project with the VS2010 style, it produces a CHM file that can't be opened. I get the "Cannot open the file: mk:@MSITStore:<path>" error.

If I build the project with Prototype or VS2005 style, the resulting CHM opens. I can build other projects with VS2010 style and those CHM files open fine.

I've also tried:
  • disabling the custom code block component
  • unchecking "create a binary table of contents"
  • changing the Help 1 SDK link type to "No SDK links"
The only warnings I see are from ResolveReferenceLinksComponent2 complaining about unknown reference links (links to APIs that I've excluded)

What should I check next?
Feb 19, 2013 at 7:20 PM
Do you have any additional content (HTML files) in the project? If so, they may be the problem. The older HTML additional content model is no longer supported and has been deprecated. While it will continue to work in the older presentation styles, there's no guarantee that raw HTML files will work in the VS2010 style due mainly to requirements for use in MS Help Viewer. Converting them to MAML should resolve any issues.

Feb 20, 2013 at 1:29 PM
EWoodruff wrote:
Do you have any additional content (HTML files) in the project? If so, they may be the problem.
Thanks for the reply!
No, I don't have any HTML (or MAML) content in the project. Just one DLL documentation source and 16 DLLs as references.
Feb 20, 2013 at 7:06 PM
Searching for the error message returns results that indicate problems with the help components themselves thought it's odd that it works for the other presentation styles. Have you tried it on another PC to see if it works there? If it does, maybe it is the help components and uninstalling and reinstalling the HTML Help Workshop may fix it.

Feb 21, 2013 at 6:32 PM
Reinstalling the Help Workshop didn't help.

I found a couple of workarounds that do work, but I have no idea why.
  • Changing the Topic file naming method to anything but GUID, or
  • applying any API filter
I didn't try every single method to see if they all worked, but a small sampling (a constructor and two methods, all from different classes) resulted in a working help file each time I unchecked one method in one class in the API filter dialog.
Feb 21, 2013 at 7:15 PM
I've heard of cases where naming methods other than GUID caused a problem due to long filename issues but not any related to the GUID naming method. I suppose its possible two members are generating an identical MD5 hash value. Using one of the other naming methods would mask that issue as would applying an API filter if it ended up removing one of the members causing the problem.

Jun 5, 2013 at 1:55 PM
I have the same issue. With VS2010 I get the same error, but with VS2005 it's opening just fine. If I remove the last added Conceptual file it opens in VS2010, but there are no errors in this, because it's added as is with no changes to the template. It doesn't seem to matter which file I add to the TOC, or where (sibbling or child) one more file and the error occurs. Any idéas to this problem?

The workaround changing the topic file naming method also works for me.
Jun 5, 2013 at 7:47 PM
Can you send me an example that fails so I can see if I can duplicate the problem? My e-mail address is in the About box in the standalone GUI and in the footer of the pages in the help file.

Apr 2, 2014 at 2:49 PM
Edited Apr 2, 2014 at 5:23 PM
Did you ever find the answer to this?

I have a similar problem with a project that works fine when built using VS2010 on SHFB V1.9.7.0 but fails as described here when built using SHFB V2014.2.15.0 Beta with the only project change being migration into VS2013 from VS2012.

I' have however tried building using VS2005 and the error persists.

I have opened a new topic for my issue here Can't open CHM File