Россия, Звенигород |
Система распространения и установки - XPInstall
17.5. Отладка: логи и тестирование
Метод logComment() объекта Install является единственным способом получить диагностические сообщения из файла install.js, если не рассматривать alert(). Сообщения записываются в файл install.log, который сохраняется в корневую область платформы.
Обычный источник проблем при инсталляции - несоответствие иерархии путей в файле XPI и локальной файловой системе. Если они указаны неверно, или не соответствуют друг другу, на данном этапе установки не может быть скопирован ни один файл. Это может быть легко установлено исследованием лог-файла.
Если ничего не происходит (или происходит, но не то), хорошая стратегия отладки - упростить процесс установки. Уберите цифровую подпись, затем участки кода, ответственные за проверку версий. Начните с файла XPI, чье содержание всего лишь должно быть скопировано в chrome. Удостоверьтесь, что поддеревья файлов из архива копируются в нужное место. Если у вас нет замысловатой проверки версий, один и тот же XPI-файл может быть безопасно установлен снова и снова - нет необходимости в удалении приложения между установками. В простых случаях безопасней и проще удалить необходимую часть chrome вручную. Только не удалите ничего из стандартных JAR-фалов, идущих вместе с платформой.
Если в приложении есть оверлеи, важно следить, чтобы не была повреждена база данных оверлеев. Если какой-либо из оверлеев имеет синтаксические ошибки или проблемы с совместимостью, не стартует или сама платформа, или начальное окно, так что и установка приложения становится бесполезна. В таком случае удалите базу данных overlayinfo, установленные вами фалы, файл chrome.rdf и строки, добавленные в installedchrome.txt. Затем вновь запустите платформу.
Мы вообще рекомендуем тестировать установку приложения не на той платформе, которая используется для ежедневной работы, а на специальной копии. Эта отдельная платформа может быть "Зоной Краха", предназначенной для экспериментов. На платформе Microsoft Windows лучше даже завести специальный компьютер, поскольку есть лишь одна Mozilla и регистр Windows на хост. Если очень постараться, из скриптов XPInstall можно повредить и сам регистр Windows.
17.6. Итоги
Подсистема Mozilla XPInstall многолика и может использоваться по- разному. Прикладные программисты, которые не хотят изучать процесс компиляции самой системы, видят лишь некоторые ее стороны.
Наиболее привлекательной из технологий XPInstall является удаленная установка. Это действительно удобный механизм распространения программного обеспечения, с низкой стоимостью дистрибуции и возможностью онлайнового обновления. Переносимые свойства системы XPInstall отлично соответствуют переносимым свойствам самой платформы Mozilla. Приложения на основе Mozilla не делят мир на Visual Basic, AppleScript и Perl, но могут быть установлены на наиболее популярные операционные системы одним и тем же способом.
Программист приложения может постепенно переходить на рельсы пользовательской установки, или системной установки, по мере того, как его приложение становится более зрелым и набирает пользовательскую базу. Система XPCOM предоставляет достаточно возможностей, чтобы можно было, если потребуется, создать на основе платформы собственную инсталляционную систему. Единственная часть платформы, которую трудно воспроизвести без C/C++ кода - это часть родного инсталлятора, ответственная за самое начало запуска платформы.
Завершением рассмотрения XPInstall заканчивается наша книга о технологиях Mozilla. Сегодня платформа Mozilla - это развитая и богатая возможностями среда разработки приложений. Это очень заметный и очень важный Open Source проект, и его будущее поистине блестяще.
Удачи вам в работе с Mozilla!