Обычно после установки продуктов Mozilla в корпоративной среде требуется дополнительно установить:
- стандартный для компании набор плагинов
- сделать типовые настройки
Почему бы не интегрировать необходимые плагины и типовые настройки в дистрибутив?
Цель данной статьи — показать как можно перепаковать дистрибутив Mozilla, добавив необходимые компоненты.
Сразу оговорюсь: рассматривать установку любого дистрибутива в корпоративной среде не стану — про это написано множество статей и имеется множество готовых либо самодельных инструментов.
Вторая оговорка: распространяя модифицированный дистрибутив Mozilla за пределы своей организации без подписания дополнительного соглашения с Mozilla Вы нарушите лицензионное соглашение.
Но наша цель — подготовить внутренний дистрибутив для своей организации, так что всё в порядке.
Для перепаковки потребуется:
Дистрибутив продукта (в данном примере Firefox) — http://ift.tt/1jnBcLK
Архиватор 7zip — http://ift.tt/X2wxXx
SFX модуль для 7zip — http://ift.tt/1jnBfan
Подготовка.
«Однажды поймал Герасим золотую рыбку.
И как не пытался объяснить, что хочет большой дом, крутую машину и красавицу-жену — получил только трёх коров.
Грамотно сформулированное — половина сделанного ©»
Поэтому перед перепаковкой дистрибутива стоит подготовить:
- Список плагинов, которые необходимо интегрировать в дистрибутив, и их дистрибутивы
- Список настроек — по-умолчанию со значениями, которые необходимо интегрировать в дистрибутив (Возможно необходимо добавить настройки по-умолчанию для интегрируемых плагинов)
Распаковка.
Нет ничего проще: переходим в папку со скачанным дистрибутивом и распаковываем его 7zip.
У меня получилась такая команда:
"C:\Program Files (x86)\7-Zip\7z.exe" x .\"Firefox Setup 24.4.0esr.exe" -o"Firefox Setup 24.4.0.esr"
Модификация.
В после распаковки получившейся папке нас в первую очередь интересует путь core\browser\extensions. Для Firefox до версии 24esr и для Thunderbird этот путь будет core\extensions (за не ESR версиями я не слежу).
Если подложить в эту папку расширения, то они интегрируются в пересобираемый дистрибутив. Я добавляю расширение Mozilla GPO plugin для того, чтобы в дальнейшем можно было управлять любыми настройками из групповых политик. Можно подложить сразу xpi файл, можно его распаковать и подложить папку расширения. Тут возможна проблема с именованием файла/папки — см. решение проблем в конце статьи.
Также можно задать некоторые настройки по-умолчанию.
Лично я предпочитаю спускать их через GPO, но возможно дистрибутив будет устанавливаться на ПК не в домене, поэтому пренебрегать этими настройками тоже не стоит.
Для этого в папке core\defaults\pref необходимо создать файл с установками по-умолчанию. Файл обязательно должен быть в кодировке UTF-8 и назвать его стоит all-<имя компании>.js. Например all-contoso.js:
pref("extensions.autoDisableScopes", "11");
Без этой настройки Mozilla спросит у пользователя стоит ли устанавливать подложенные плагины. По-умолчанию это значение параметра равно 15. Подробнее можно почитать здесь
Запаковываем.
После модификации переходим в папку с исправленным дистрибутивом (там где папки core, win32 и setup.exe) и запаковываем его в архив. У меня получилась такая команда:
"C:\Program Files (x86)\7-Zip\7z.exe" a -r -t7z app.7z -mx
Создаём в той же папке файл app.tag (в кодировке UFT-8!), который укажет sfx что запускать после распаковки архива, с содержимым:
;!@Install@!UTF-8!
Title="Firefox 24.4.0 ESR customized"
RunProgram="setup.exe"
;!@InstallEnd@!
Копируем в эту же папку 7zSD.sfx.
«Склеиваем» sfx-модуль, app.tag и архив приложения:
copy /B 7zSD.sfx+app.tag+app.7z "Firefox Setup 24.4.0.esr.custom.exe"
Готово.
Теперь после установки из созданного дистрибутива:
- Автоматически установятся все включенные дополнения
- Во всех профилях пользователей будут применены ваши настройки по-умолчанию (Если в профиле явно не указано значение настройки)
Возможные проблемы и их решение.
Если не применяются Ваши настройки по-умолчанию:
- Проверьте название и расположение файла настроек в дистрибутиве (нежелательны национальные символы, пробелы и спецсимволы в имени файла)
- Проверьте кодировку файла настроек по-умолчанию (Должна быть только UTF-8 без BOM)
Если не «подхватились» интегрированные плагины:
- Проверьте значение параметра extensions.autoDisableScopes. Если запрещены плагины из папки Firefox, то пользователю будет сообщение, что кто-то пытается установить плагин.
- Проверьте, что Вы правильно назвали файл (или папку плагина). Файл плагина должен иметь имя вида id.xpi, где id — идентификатор плагина как в install.rdf в поле em:id внутри плагина. Имя папки плагина должно совпадать с его id.
Самый верный путь обеспечить выполнение этого условия: установить плагин через интерфейс управления плагинами Mozilla, а потом скопировать папку (или файл) плагина из профиля пользователя в создаваемый корпоративный дистрибутив.
P.S. «Вдохновение» черпал из статьи:
http://ift.tt/1jnBfap
Но с пришлось дополнительно разобраться с названием файла для настроек по-умолчанию, а также разобраться почему некоторые плагины не хотели интегрироваться.
This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий