2013-01-31 5 views
2

데이터베이스에서 데이터가 포함 된 HTML 및 hhp 프로젝트를 뱉어내는 프로그램을 사용합니다. 그런 다음 hhp를 Microsoft HTML 도움말 컴파일러 (hhc.exe)로 컴파일합니다.CHM은 정상적으로 컴파일되지만 열리지 않습니다.

잘 작동하지만 불행히도 몇 가지 프로젝트에서는 hhc가 잘 컴파일되지만 chm 파일은 사용할 수 없습니다. "파일을 열 수 없습니다. mk : @MSITStore : FileName"

내 시스템의 다른 chm 파일에는 아무런 문제가 없습니다. 내가 컴파일하는 다른 chm에는 문제가 없다. 내 프로젝트에서 여러 주제를 제거하면 제작 된 파일이 다시 작동합니다. 제가 제거한 주제는 중요하지 않습니다. 작동하지 않는 파일은 작동하는 파일 크기의 거의 두 배입니다. 심지어 html 및 프로젝트 파일도 거의 동일합니다 (거의 변경되지 않음). 이는 일부 파일의 크기 나 구조가 ' 맞아.

누구나 이와 같은 경험이 있으며 그 이유는 무엇입니까? 예를보고 싶어하는 사람들을 위해 ,이 프로젝트를 컴파일하고 잘 작동 :

Working chm project

그리고이 하나의 컴파일을하지만 열 수 없습니다 :

Chm that fails

답변

0

는 이유가 있습니다 왜 MS HH 컴파일러가 충돌 할 수 있습니다.

(1) 잘못된 파일 이름 파일 및 파일 HTML 도움말 컴파일러는 일부 파일 이름을 좋아하지 않습니다. 파일 이름에 공백이 있으면 HTML 도움말에 약간의 사소한 문제가 발생할 수 있습니다. 공백을 밑줄로 대체하는 것이 가장 좋습니다. 파일 및 폴더 이름에 "#"을 사용하지 마십시오. 이러한 문자 _, a..z, A..Z, 0..9를 사용해보십시오.

일반 파일 확장자에서 마침표를 사용하지 마십시오. 예 : xxx.h001.gif와 같은 파일 이름이 HTML 파일로 잘못 식별됩니다. 그런 다음 컴파일러는 이진 파일을 구문 분석하고 충돌을 시도합니다. ".chm"이 포함 된 파일 또는 폴더 이름을 사용하지 마십시오.

(2) 네트워크 드라이브에서 컴파일을 피하고 로컬 드라이브에서 컴파일을 시도하십시오.

(3) MJ의 도움말 진단을 사용하여 모든 도움말 뷰어 구성 요소가 올바르게 설치 및 등록되었는지 확인하십시오.

http://helpware.net/downloads/#MJs

(4)이 하위 디렉토리에서 찾을 수 있어야 파일 "hh.dat", 삭제 : \ % 사용자 이름 % \ 응용 프로그램 데이터 \ 마이크로 소프트 \ HTML

도움말

\ 문서 및 설정을

이 파일은 시스템의 모든 HTML 도움말 파일 (즐겨 찾기, 창 크기 및 위치 등)에 대한 정보를 저장하며 파일이 손상된 경우 오작동을 일으킬 수 있습니다.

(5) 도움말 시스템을 디버깅해야합니다. 컴파일러가 충돌하는 파일을 식별해야합니다.

나는 일반적으로 폴더 및 파일의 이름을 바꾸거나 이동하여 웹 섹션을 제거한 다음 다시 컴파일합니다. 컴파일러가 충돌하지 않을 때까지 섹션을 추가하고 제거하십시오. 결국 문제의 원인이되는 하나 또는 두 개의 파일을 찾을 수 있습니다. HTML 파일의 섹션을 임시로 제거하여 이러한 파일을 디버그해야 할 수도 있습니다.

+0

감사합니다. 불행하게도, 컴파일러는 충돌하지 않고, chm 출력을 생성하지만, 출력은 읽을 수 없습니다. 무작위 파일을 제거하면 임의의 특정 파일을 제외하고 어떤 파일도 제거 할 수 있기 때문에 크기가 무작위 인 파일을 줄일 수 있습니다. – user1612992

0

입력에 0 바이트 파일이 있습니까? 어쩌면 컴파일러가 그것을 처리 할 수 ​​없을까요?

1

정확히 똑같은 문제가 있었으며 hhc의 압축 모듈에서 모두 크기 문제 일 가능성이 가장 높고 오류라고 말할 수 있습니다.

몇 줄의 문서를 추가 할 때 CHM 파일의 크기가 1.6에서 3.1MB로 증가했으며 더 이상 열 수 없었습니다.

이 문제는 파일을 제거하거나 파일을 추가해도 해결할 수 없습니다.

그래서 몇 가지 추가 문서를 작성하여 프로젝트에 추가 했으므로 모든 것이 잘되었습니다.

+0

공개 문서? –

+0

@NewAlexandria : '\ 페이지'를 추가 한 텍스트 파일입니다. –

2

동일한 문제가 발생했습니다. CHM은 일반적인 크기의 두 배이며 열 수 없습니다. CHM 컴파일러는 오류를보고하지 않았습니다. 임의의 HTML 파일을 제거하면 CHM을 열 수 있습니다. 나는 같은 날에 많은 다른 CHM을 만들었고 나머지는 괜찮 았어.

나는 다음과 같은 방법으로 문제를 해결했다 :
  1. 내가 프로젝트에 매우 작은 HTML 파일을 추가했습니다. 프로젝트의 다른 파일 중 하나의 사본이므로 사용자가 검색에서 찾으면 아무런 해가 없습니다.
  2. HHP에 파일 이름을 입력했습니다.
  3. CHM 컴파일러에서 프로젝트를 다시 컴파일했습니다.

CHM은 정상 크기로 수축하고 정상적으로 열립니다.

+0

다른 회사의 동료가 만든 또 다른 CHM에 동일한 버그가 발생했습니다. 내용은 첫 번째 CHM과 전혀 관련이 없습니다. 진단 및 해결 방법은 동일합니다. 해결 방법의 더 나은 버전은 프로젝트 끝 부분에 완전히 비어있는 HTML 파일을 추가하는 것입니다. –