HTML Help Workshop Crashes on Compiling a CHM - chm

Trying to build a CHM using Microsoft HTML Help Workshop. A soon as I click Compile, HTML Help Workshop states:
An internal error has occurred. An error record has been saved to c:\os.err.
The only contents of the file are:
((Today's Date & Time))
Microsoft HTML Help Workshop Version 4.74.8702
HHA Version 4.74.8702
htmlproc.cpp(114) : Assertion failure: (pszTmp == m_pCompiler->m_pHtmlMem->psz)
The error only occurs for a few select, large projects, and happens from both the command line as well as the HTML Help Workshop GUI.
What causes this error to occur and how can I fix my project to run through the compiler?

The Microsoft HTML Help compiler has some unstated requirements for path name sizes.
Moving the project to a directory closer to the root drive (i.e. "C:\helpsystem\") and renaming folders inside the project to smaller name reduced the path name size enough so that the project would compile.

I found Microsoft HTML Help Workshop to be a bit delicate to work with. Do you have all the prerequistes installed? Try running the compiler, hhc.exe, from the command line.

Another thing to watch out for is an Error 413 - Request Entity Too Large error.
I'm not sure how big is too big for HTML Help Workshop, but my htm file is a touch over 2MB, a large table, and it causes HTML Help Workshop to crash when processing it.
While this isn't the same problem, it was the hint I needed - I'm not the first to find this on SO..

Related

How do I solve 'Web Compiler found an error in compilerconfig.json'?

On trying to re-compile all files in a solution, using Visual Studio 2017, I get this uninformative error message:
Web Compiler found an error in compilerconfig.json
To begin with, there is more than one compilerconfig.json file in the solution.
Secondly, there is no indication whatsoever of what the error is, where it occurs (line number, for instance).
Any ideas how I can go about solving this?
In Visual Studio's Solution Explorer, right-click the compilerconfig.json file and click "Task Runner Explorer". In the left pane you will see "compilerconfig.json/all files", right-click on it and then click on "Run". You will see the details of the execution which, in my case, included the useful information about how to correct the error.
I was able to solve this issue for myself by using individual file compiling, instead of "All files".
I was getting a "Compiling successful!" message, but that didn't seem true because my compile file didn't contain my change. So here's what I did:
Open Window > Task Runner Explorer. In your left column, there is a task for "All Files". That's fine. Ignore it.
Compile your SCSS files individually. Do this by right clicking on each SCSS file in that list, and then Bindings > After Build. (Or add the task to whatever event you prefer. I chose After Build.)
Open any SCSS file in your project and add a test. I added something like #TEST2 {color: hotpink;} to my SCSS file.
Now when you save, your compiling takes a few seconds longer. Now open main.css and see if your change (#TEST2) exists in the file.
I just went through this and didn't find an easy way but I got past it.
My issue turns out to be a missing input file that was supposed to be compiled.
Method of attack:
Try to compile each compilerconfig.json file (right-click -> Web Compiler -> re-compile all files)
repeat until you find the file in question
Remove all data from this file and add entries in one at a time (or scan it to make sure your files are there, which ever fits your situation)
The root problem is that the Web Compiler didn't install successfully. I had the same problem as described in the other answers and went down a rabbit hole to figure out why I couldn't compile. Turns out I had to help the tool install itself. See this comment for details:
https://github.com/madskristensen/WebCompiler/issues/390#issuecomment-475427735
Once I did the steps listed in that comment, I able to both compile files again and was explicitly told by the tool which line of my SCSS had an error.
For an information:
I got the same error in VS2019 webcompiler. And I found a solution ie;
Project should be open as a "Web Site".
Do not open as a folder. This simple thing is solved my issue.

Renamed SSIS Package and Now Don't Have Access to my Solutions

I made a goof and renamed my SSIS package without fully understanding what I was doing. Now I get "one or more solutions couldn't be added..." I then go to my solution explorer and no solutions are there. Please note that I've been working on this project for 6 months. I checked the project obj folder and all my solutions are there. I'm pretty sure I have to rename something else. Will somebody please help me. I am an intern and am FREAKING OUT.
Let's examine what's happening. I am using SSIS 2012 in this example but the steps will be the same for 2005 to 2014. This assumes you have turned off "hide file extensions".
Visual Studio is an Integrated Development Environment, IDE, for developing software. The outermost concept is a Solution. See 1 below. Solutions solve a problem as a whole. A solution might need multiple tools to solve a problem. A tool in this case, is a Project (#2). Depending on the type of project, different folders and such will appear in section 3. This is an example of an SSIS project.
If you don't see your solution, there's a question for that Solution Folder Not Showing in Visual Studio 2010 - How Can I Make It Visible?
If I Rename the project JeffOrris to JeffOrris2 and close Visual Studio, it will prompt me to save changes to JeffOrris.sln (and optionally, the project). If I click No, when I reopen the solution, I am greeted with the following error message along with Visual Studio indicating that my project JeffOrris is unavailable. :'(
---------------------------
Microsoft Visual Studio
---------------------------
One or more projects in the solution were not loaded correctly.
Please see the Output Window for details.
---------------------------
OK
---------------------------
To start fixing things, you have to get Visual Studio to play ball. You can do this one of two routes. The first is to Add the renamed project back into the solution. Add... Existing Project... and then find your .dtproj file (or .whatever it was with 2005/2008) Assuming that loads fine, you can right click on the one that isn't loading and select Remove. Then click "Save All" or Ctrl-Shift-S
Option 2, which is what I do is to go mucking about with files. Find where your .SLN is. If your project is still open, it will indicate it under properties but once it's bolloxed then you'd need to right click and choose Open Folder in File Explorer.
However you get here, look at what you have.
A solution is represented on disk by a .sln file. That's a text file, might be UTF-8 but it's human readable text. The .suo file is binary that keeps track of what you have open and such. It doesn't matter, the .sln does.
Take a peek inside your solution file. Knowledge is only good for you
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "JeffOrris", "JeffOrris\JeffOrris.dtproj", "{631559E9-5ED5-4F63-B74E-BFB6CBAE89C5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Development|Default = Development|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{631559E9-5ED5-4F63-B74E-BFB6CBAE89C5}.Development|Default.ActiveCfg = Development
{631559E9-5ED5-4F63-B74E-BFB6CBAE89C5}.Development|Default.Build.0 = Development
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Of importance is the line starting with Project. That says I, the Solution, have a Project called JeffOrris and the project file can be found, relative to my location, at Folder called JeffOrris and inside there a file named JeffOrris.dtproj
The "trick" then is to make your subject and verbs agree. Or in this case, make your Solution and your .dtproj file agree. That'd be #6 below. After saving the solution file, Visual Studio should prompt you to reload it and whoosh, your project is back.
If you have inadvertently renamed the .dtproj file, then you can rename it back. Again, save all

How to create or correctly import BackEndProxyStub project from ChatterBox VoIP sample to another solution (WP8)

I'm trying to develop a VoIP application based on ChatterBox VoIP sample and VoIP apps for Windows Phone 8.
I understand how projects Agents, BackEnd and UI work, but I cannot understand BackEndProxyStub.
I read the following description:
This is an out-of-process server written in C that enables
communication between the foreground app and the background process.
But found no other documentation that explains in more detail.
I'm trying to edit the "ChatterBox VoIP sample app" (to integrate with another BackEnd and UI), so I wanted to know how to create or import BackEndProxyStub and edit correctly for my solution.
I tried to import, but when I rebuild my solution, appears 2 unresolved externals:
Error 2 error LNK2001: unresolved external symbol
_PhoneVoIPApp2EBackEnd_ProxyFileInfo D:\Workspace\C# and C++\BackEndProxyStub\dlldata.obj BackEndProxyStub
Error 3 error LNK2001: unresolved external symbol
_PhoneVoIPApp2EBackEnd2EOutOfProcess_ProxyFileInfo D:\Workspace\C# and C++\BackEndProxyStub\dlldata.obj BackEndProxyStub
And when I tried to rename the files to my project name (even with the warning "DO NOT ALTER THIS FILE"), I got the same errors (differing only by name).
I would appreciate if someone could explain me how to properly handle "BackEndProxyStub" project.
If I missed something that could help, please tell me.
Seems like we're having the same problem. At the moment I can't help much because I just started as well; but I think the BackEndProxyStub is compiler-generated (refer to here). This might be a good start as well (refer to the comment for the question).
Based on that currently I'm studying COM starting from here, hoping one day can fully understand the chatterbox example.
Hope that helps.
The files in BackEndProxyStub project was generated by the BackEnd project. It used the MIDL(Microsoft Interface Definition Language).
This can be prove in the BackEnd Project's project file(BackEnd.vcxproj). The "CustomBuildStep" node in this file showed the clue:
<CustomBuildStep>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">pushd "$(OutDir)"WinMdIdl.exe "$(OutDir)$(RootNamespace).winmd"
MIdl.exe /env $(MidlEnv) /winrt /ns_prefix /metadata_dir "$(FrameworkSdkDir)Windows Metadata" /out "$(SolutionDir)$(ProjectName)ProxyStub" "$(OutDir)$(RootNamespace).idl"
MIdl.exe /env $(MidlEnv) /winrt /ns_prefix /metadata_dir "$(FrameworkSdkDir)Windows Metadata" /out "$(SolutionDir)$(ProjectName)ProxyStub" "$(OutDir)$(RootNamespace).OutOfProcess.idl"
"$(ProjectDir)OopServerRegistrationHelper.exe" /winmd:"$(OutDir)$(RootNamespace).winmd" /dll_name:$(TargetName) /namespace:$(RootNamespace).OutOfProcess
/app_manifest:"$(SolutionDir)UI\Properties\WMAppManifest.xml" /helper_dir:"$(SolutionDir)Agents" popd
</Command></CustomBuildStep> .......
It also can be founded in Visual Studio:
Here is documents of the MIDL. I think you can use the MIDL to generate your own BackEndProxyHub Project. Good luck.

SignTool error while packaging Windows Store app

During packaging the Windows Store application, I get an unspecified error [APPX1204]:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\AppxPackage\Microsoft.AppXPackage.Targets(1139,9): error APPX1204: Failed to sign 'D:\Projects\VS2012\Stroik\Stroik\AppPackages\Stroik_1.0.0.11_AnyCPU_Test\Stroik_1.0.0.11_AnyCPU.appx'. SignTool Error: An unexpected internal error has occurred.
Build output refers to the part of a file generated by VS2012:
<SignAppxPackage AppxPackageToSign="#(FinalAppxPackageItem)"
CertificateThumbprint="$(PackageCertificateThumbprint)"
CertificateFile="$(PackageCertificateKeyFile)"
HashUri="$(_HashUri)"
EnableSigningChecks="$(EnableSigningChecks)"
>
<Output TaskParameter="ResolvedThumbprint" PropertyName="ResolvedThumbPrint"/>
<Output TaskParameter="AppxPackagePublicKeyFile" PropertyName="AppxPackagePublicKeyFile" />
</SignAppxPackage>
Yesterday packaging proceeded successfully. Today I added aditional logic to my app and changed some data in manifest. Since then I'm reciving presented error. I tried to regenerate Certificate in Packaging menu, delete Store/Temporary Keys (then regenerate), ... much more but nothing helps.
Now I have no idea how to handle it. Furthermore packaging a new project (as it is provided by vs2012) results in the same error.
Have you got any suggestions how to solve it.
If it helps anyone else, I was trying to make the build on a network share (virtualizing windows). Creating it on the Windows partition solved the issue.
I was developing on a Virtual Machine in VirtualBox and tryed to publish to the shared folder.
Change the output folder to a local folder on the virtual maschine solved it.
Granted this is older - see if you can try it with a different live id
You could also try to generate a new app, and diff the manifests between the apps.
Now according to:
http://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/f25939fb-c48c-4bd0-938e-6a0afbd2dca0/
you may want to sign out, use IE 'in safe private browsing' and create a new one.
Also ensure that IE is set in "Browsing History->Settings" to get a new version of the page every time.
Login with the new one and give it a try.
I'm not sure if this error is related here or not, but it's a starting point based on the prior feedback on the above post.
This japanese site lists the same error code and seems to have the same resolution as well
http://coelacanth.heteml.jp/blog/windows-8signtool-error-an-unexpected-internal-error-has-occurred/
Its worth a shot, but I'll admit on this one not being 100% sure, just trying to help out : )

CHM compiles fine, but won't open

I use a program that spits out HTML and hhp projects containing data from my databases.
I then compile that hhp with Microsoft HTML Help Compiler (hhc.exe).
It works well, but unfortunately for few projects, hhc compiles fine, but chm file is unusable.
It reports "Cannot open the file: mk:#MSITStore‎: FileName"
I have no problem with other chm files on my system. I have no problems with other chm I compile. If I remove several topics from my project produced file works again. It doesn't matter what topics I remove. Files that don't work are almost twice the size of files that work, even tho the html and project file is almost the same (very few changes), which leads me to think compression fails silently if size or structure of some file isn't right.
Does anyone have experience like this and what could be the reason?
For those that want to see example, this project will compile and work fine:
Working chm project
And this one compile but fail to open:
Chm that fails
I experienced the identical problem. The CHM was double the usual size and could not be opened. The CHM compiler did not report any error. Removing any random HTML file enabled opening the CHM. I generated many other CHMs on the same day, and all the others were OK.
I worked around the problem in the following way:
I added a very small HTML file to the project. It is a copy of one of the other files in the project, so if a user finds it in a search, it does no harm.
I entered the file name in the HHP.
I recompiled the project in the CHM compiler.
The CHM shrank to the normal size, and it opens normally.
I had exactly the same problem and can say it's all a matter of size and most likely an error in the compression module of hhc.
When I added some lines of documentation the size of the CHM-file increased from 1.6 to 3.1 MB and it could not be opened anymore.
This problem could not only be fixed by removing files but also by adding files.
So I wrote some additional documentation, added it to the project and everything was fine again.
There are a number of reasons why the MS HH compiler may crash.
(1) Invalid filenamesfile and file
The HTML Help compiler does not like some filenames e.g. spaces in a filename can still cause some minor problems with HTML Help. Best to replace spaces with underscores. Avoid "#" in file and folder names.
Try and stick with these characters _, a..z, A..Z, 0..9.
Do not use periods apart from in the normal file extension. Example: A filename such as xxx.h001.gif is identified incorrectly as a HTML file. The compiler then attempts to parse the binary file and crashes.
Do not use file or folder names containing ".chm".
(2) Avoid compiling on a network drive and try to compile on local drive.
(3) Use MJ’s Help Diagnostics to ensure that all the help viewer components are properly installed and registered.
http://helpware.net/downloads/#MJs
(4) Delete the file “hh.dat”, which you should find in this subdirectory:
\Documents and Settings\%username%\Application Data\Microsoft\HTML Help
This file stores information about all the HTML Help files on your system (Favorites, window size and position, etc.), and can cause the files to misbehave if it has somehow been corrupted.
(5) You need to debug your help system. You need to identify the file(s) that are crashing the compiler.
I normally remove sections of the web by renaming or moving folders and files, then recompile. Keep adding and removing sections until the compiler does not crash. Eventually you will find one or two files that are causing the problem. You may also need to debug these files by temporarily removing sections of the HTML file.
I see 0 byte files in the input? Maybe the compiler can't handle that?