Недавно у меня на рабочем компьютере перестали открываться файлы формата chm. Напомню, что это формат хранения справок и очень часто в нем содержатся описания программ, ответы на вопросы. При попытке открытия любого подобного файла выскакивало окно с сообщением «Не удается открыть файл mk:@MSITStore:[полный путь к файлу]».
Искать пути решения проблемы я начал с Интернета. Честно говоря, довольно скептически отношусь к этому способу. Найти толковый и квалифицированный ответ не так-то просто. Обычно на форумах разводится болтология или из целого вороха ответов дельным оказывается только один.
Не сильно вникая в смысл написанного, в память врезалось упоминание программы «Html Help Workshop». У меня сразу зародились подозрения, так как название было не совсем подходящим. Но софт находился на официальном сервере Майкрософт, а посетить сайт разработчика дело совсем не лишнее. Приложение оказалась предназначенным для работы с hhp и html-файлами. Она не открывает справки формата chm, но в ней есть возможность компилировать/декомпилировать их. Попытка это сделать оказалась неудачной, операция была прервана вследствие невозможности открыть проблемный формат. >>>
Я проделал еще ряд операций от советчиков из сети. Результата они не дали. Пора подключить «моск» и попробовать искоренить проблему самостоятельно. Начать я решил с реестра. Задав в строке поиска «chm», через пару минут я уже знал, где находится программа отвечающая за запуск справки. Дополнительным параметром при ее открытии было значение %1. Обрадованный я запустил ее (она называется hh.exe и находится в папке Windows), но ответом мне стала надпись «Hh.exe was run without a valid command line». Ладно, а если попробовать по-другому. В командной строке прописал вызов «hh.exe %1». И, о чудо, «HTML Help» открылся. Правда, перетащить методом «drag&drop» в нее документ не получилось. Выходила предупреждающая надпись о том, что я пытаюсь открыть файлы из Интернета. Эксперименты с числовым параметром не помогли, все было по старому. Ну что ж, пора поближе познакомиться с софтом. В свойствах файла я обнаружил версию продукта, версию файла, внутренне имя - HH 1.41. Без всякой надежды на успех, заглянул в код программы воспользовавшись отладчиком, но менять ничего не решился. Копаться в чужом коде всегда неприятно, а тем более, если у тебя есть его ассемблерная версия и ты понятия не имеешь что тебе искать. Заглянув в закладку «Безопасность» я убедился, что с правами доступа у меня полный порядок. По соседству от меня сидел мой коллега. Он любезно предоставил свой компьютер. Найдя ненавистный файл, я начал их сравнение. Нашлось отличие, оно заключалось в версии файла. На ум пришла замена файлов, копирование работающей утилиты. Сказано - сделано. И на этот раз ожидаемого эффекта действие не возымело. А как поведет себя система, если вовсе не обнаружит файла hh.exe? Удалив его и запустив один из файлов справки, я по-настоящему удивился. OS Windows создала ранее удаленную исполняемую программу. Вот уж, поистине регенерация в действии. Но теперь хотя бы наступила полная ясность в том, что файл hh.exe в моих проблемах не виноват.
Умная мысля приходит опосля
От всего этого голова шла кругом, необходима была передышка. Перерыв в любом деле полезен. Мозг может сфокусироваться на деталях ранее не замеченных, неожиданно проскальзывает светлая мысль.
На ум мне пришло воспоминание про то, что когда-то давно я из нескольких html-файлов делал один формата chm. Значит, есть специальные утилиты для их преобразования. А раз тема справок не является заброшенной, непременно должен существовать сторонний софт для просмотра таких файлов. И, действительно в сети попадаются программы просмотра chm-файлов. Казалось вопрос решенный, но все же это не совсем то, чего я добивался - полное восстановление прежней функциональности. Еще раз заглянув на сайт поддержки продуктов «Майкрософт» я скачал утилиту «HHUPD.exe». Скажу честно: найти необходимое на ресурсе очень непросто, в нем много излишней и повторяющейся информации. Попытка инсталляции завершилась неудачей - то ли версия неподходящая, то ли «Html Help Workshop» не тот. Все гениальное - просто! Проблема решилась прописыванием в командной строке следующей строки: regsvr32 %windir%\system32\hhctrl.ocx и регистрацией двух библиотек itircl.dll, itss.dll (вводится вместо hhctrl.ocx).
Какие можно сделать выводы
При возникновении проблемы старайтесь собрать как можно больше информации - номер версии, установленный Service Pack и тому подобные мелочи. Этим вы сильно облегчите себе поиск и уменьшите время, потраченное на разбор информации. Не задавайте обобщенных вопросов, на них вы получите точно такие же ответы, никак не способствующие решению проблемы. Первым делом посетите сайт разработчика софта. Возможно, там уже есть ответ на ваш вопрос. Отвлекитесь от проблемы, сделайте перерыв. Вы сможете взглянуть на нее под новым углом, к вам вернутся силы.
Надеюсь, что приведенные здесь действия помогут при решении ваших проблем. Удачи вам в решении этих нелегких задач и пусть на вашем пути они встречаются как можно реже.
(Опубликовано в газете "Мой друг компьютер", № 1, январь 2010 года. Здесь дана авторская редакция.)
28778 просмотров
Ваш комментарий будет первым | | |