...

понедельник, 7 апреля 2014 г.

Преднастройка продуктов Mozilla для корпоративной среды это просто



Обычно после установки продуктов Mozilla в корпоративной среде требуется дополнительно установить:


  • стандартный для компании набор плагинов

  • сделать типовые настройки


Почему бы не интегрировать необходимые плагины и типовые настройки в дистрибутив?

Цель данной статьи — показать как можно перепаковать дистрибутив Mozilla, добавив необходимые компоненты.


Сразу оговорюсь: рассматривать установку любого дистрибутива в корпоративной среде не стану — про это написано множество статей и имеется множество готовых либо самодельных инструментов.

Вторая оговорка: распространяя модифицированный дистрибутив Mozilla за пределы своей организации без подписания дополнительного соглашения с Mozilla Вы нарушите лицензионное соглашение.


Но наша цель — подготовить внутренний дистрибутив для своей организации, так что всё в порядке.


Для перепаковки потребуется:

Дистрибутив продукта (в данном примере Firefox) — http://ift.tt/1jnBcLK

Архиватор 7zip — http://ift.tt/X2wxXx

SFX модуль для 7zip — http://ift.tt/1jnBfan


Подготовка.



«Однажды поймал Герасим золотую рыбку.

И как не пытался объяснить, что хочет большой дом, крутую машину и красавицу-жену — получил только трёх коров.

Грамотно сформулированное — половина сделанного ©»


Поэтому перед перепаковкой дистрибутива стоит подготовить:


  1. Список плагинов, которые необходимо интегрировать в дистрибутив, и их дистрибутивы

  2. Список настроек — по-умолчанию со значениями, которые необходимо интегрировать в дистрибутив (Возможно необходимо добавить настройки по-умолчанию для интегрируемых плагинов)


Распаковка.



Нет ничего проще: переходим в папку со скачанным дистрибутивом и распаковываем его 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"


Готово.



Теперь после установки из созданного дистрибутива:


  • Автоматически установятся все включенные дополнения

  • Во всех профилях пользователей будут применены ваши настройки по-умолчанию (Если в профиле явно не указано значение настройки)


Возможные проблемы и их решение.



Если не применяются Ваши настройки по-умолчанию:


  1. Проверьте название и расположение файла настроек в дистрибутиве (нежелательны национальные символы, пробелы и спецсимволы в имени файла)

  2. Проверьте кодировку файла настроек по-умолчанию (Должна быть только UTF-8 без BOM)


Если не «подхватились» интегрированные плагины:



  1. Проверьте значение параметра extensions.autoDisableScopes. Если запрещены плагины из папки Firefox, то пользователю будет сообщение, что кто-то пытается установить плагин.

  2. Проверьте, что Вы правильно назвали файл (или папку плагина). Файл плагина должен иметь имя вида 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.


Комментариев нет:

Отправить комментарий