2017-09-15 21 views
0

방금 ​​Windows 용으로 업로드하기 위해 세 개의 MFC 응용 프로그램을 패키지화하기 위해 Desktop Bridge을 사용했습니다.도움말 파일을 Windows 10 Universal 응용 프로그램으로 열 수 없음

모두 잘 작동하지만 어떤 이유로 든 도움말 파일을 열 수 없습니다. (도움말은 다른 두 응용 프로그램에서 잘 작동합니다.)

Visual Studio에서 실행하거나 실행 파일을 두 번 클릭하면 문제 응용 프로그램이 완벽하게 작동합니다. 하지만 테스트 AppX 패키지에서 설치 한 후 도움말에 액세스하면 다음과 같은 오류가 발생합니다.

도움말을 시작하지 못했습니다.

나는 설치된 응용 프로그램 위치를 찾기 위해 작업 관리자를 사용할 수 있으며 내 도움말 파일을 포함하고 있음을 확인했습니다. 또한 시작시 도움말 파일의 경로를 표시하는 코드를 추가하고 올바른 도움말 경로를 표시합니다! 그러나 내가하는 일과 상관없이, 내 신청서는 도움을받을 수 없습니다.

어쨌든 도움말 파일에 대한 액세스를 제한 할 수있는 Windows 10 앱으로 설치되는 제한된 권한에 대해 아는 사람이 있습니까? 아니면 아무도 완벽하게 쓸모없는 오류 메시지를 얻는 방법을 제안 할 수 있습니다 위의 이유에 대한 힌트를 얻으려면 실패?

+0

파일은 어디에 있으며 어떻게 열거 나 시작하려고합니까? –

+0

도움말 파일은 실행 파일과 동일한 폴더에 있습니다. CWinApp :: OnHelp에 위임하는 내 응용 프로그램 클래스에 명령 처리기가 있습니다. –

+0

현재 작업 디렉토리를 해당 경로로 설정하십시오. 현재 작업 디렉토리에서 파일을 열려고하면 변환 된 응용 프로그램에서 작동하지 않습니다. 경로가 다른 위치를 가리키고 있기 때문입니다. –

답변

1

도움말 콘텐츠가 포함 된 .chm 파일이 응용 프로그램 설치 폴더에 있으므로이 오류가 발생합니다. 현대 Windows 응용 프로그램 모델에서는 폴더가 잠겨있어 응용 프로그램 패키지에 속한 프로세스 만 액세스 할 수 있습니다. 그러나 MFC 프레임 워크에서는 호출 된 도움말 뷰어가 패키지의 일부가 아니므로 .chm 파일에 액세스 할 수 없습니다.

런타임시 앱 실행 (예 : 실행 직후)은 접근 가능한 위치 (예 : % TEMP %)에 .chm 파일의 사본을 만들고 해당 위치를 가리 키도록 m_pszHelpFilePath를 업데이트합니다. 이제 도움말 뷰어 프로세스가 도움말을 성공적으로로드 할 수 있어야합니다.

+0

나와 함께 일해 주셔서 감사합니다. 하지만 여전히 문제가 해결 된 것으로 보지 않습니다. 첫째, 내가 OP에서 언급했듯이, 나는 세 가지 프로그램을 가지고있다. 도움은 다른 두 가지에서 잘 작동합니다. 둘째, 새로운 앱 모델에서 도움이 작동하지 않는다고보기는 어렵습니다. Windows HtmlHelp() API가 작동해야합니다! 그리고 내 앱 중 하나를 제외하고는 모두 그렇습니다. –

+0

MFC 모델은 25 년 전에 개발되었습니다. 소프트웨어를 상자에서 구입할 때 모두가 관리자 였고 인터넷과 보안은 문제가 아닙니다. 이로 인해 오늘날 존재하는 많은 문제가있었습니다 : DLL 지옥, 레지스트리 썩음, 보안 및 개인 정보 보호 문제. 그 시대의 앱을 옮길 때는 새 모델의 규칙을 적용해야합니다.이 경우와 같이 몇 가지 코드를 변경해야하는 경우도 있습니다. 다른 앱의 도움말을 변경하지 않고 왜 사용했는지 살펴 보겠습니다. 매장에 이미 있니? 내가 볼 수 있니? –

+0

Windows도 오래되었습니다. 그리고 Windows API는 Windows를 실행 가능한 상태로 유지해야합니다. 그리고 나는 도움이 여전히 중요하다고 생각한다. 내 다른 앱은 상점에 아직 게시되지 않았고 무료 일 때도 무료로 제공되지 않습니다. 데스크톱 브리지를 도와 준 Microsoft 담당자가 있습니다. 나는 그가 이것을 더 보게 될 것이라고 생각한다. 나는 다른 누구도 보게하고 싶지만, 아마도 Stackoverflow에서 적절하지 않은 정보와 비트를 공유해야 할 것입니다. –