.chm не работает на конкретной машине - PullRequest
0 голосов
/ 02 марта 2011

У меня такая ситуация: я создал приложение .net, которое использует файл .chm в качестве интегрированной справки, когда пользователь нажимает клавишу F1, Help.ShowHelp вызывается, как в этом примере:

Help.ShowHelp(ctrl, HelpNamespace, HelpNavigator.TopicId, GetTopicId(ctrl));

Это работает как брелок на моей машине в режиме отладки и выпуска приложений. Но когда я пытаюсь сделать то же самое на другом компьютере (Windows XP, то же самое, что и моя рабочая машина), когда пользователь нажимает клавишу f1, ничего не добавляется, файл справки не открывается.

Я сделал несколько тестов. Я уверен, что HelpNamespace (строка, содержащая путь к файлу chm) верна, я попытался сделать что-то более простое:

Help.ShowHelp(ctrl, HelpNamespace);

Эта работа, но не зависит от контекста. Я не могу понять, что добавить на удаленной машине и почему второй пример работает, а первый нет.

Кто-нибудь знает, где может быть проблема?

1 Ответ

3 голосов
/ 02 марта 2011

Я решил эту проблему. Моя машина - Windows XP с пакетом обновления 3 (SP3), Удаленная машина - Windows XP без SP. Я прошу системного администратора обновить машину, после того как я произвел новую установку приложения и все работает нормально.

Прежде чем попросить Администратора обновить машину (что во всех случаях является хорошей практикой, я не знаю, почему многие администраторы sys не делают этого!) Я провела следующие тесты:

на моей машине из командной строки я эмулировал команду, вероятно, вызванную из Help.ShowHelp:

hh.exe -mapid 2900 ms-its:C:\Programs\AppFolder\Help.chm

если все работает нормально, эта команда показывает файл chm с Selected TopicId, эта команда на удаленной машине ничего не генерирует, и это причина, которая убедила меня запросить обновление системы

...