Зазвичай після установки продуктів Mozilla в корпоративному середовищі потрібно додатково встановити:
- стандартний для компанії набір плагінів
- зробити типові настройки
Чому б не інтегрувати необхідні плагіни і типові настройки в дистрибутив?
Мета даної статті - показати як можна перепакувати дистрибутив Mozilla, додавши необхідні компоненти.
Відразу обмовлюся. розглядати установку будь-якого дистрибутива в корпоративному середовищі не стану - про це написано безліч статей і є безліч готових або саморобних інструментів.
Друга застереження. поширюючи модифікований дистрибутив Mozilla за межі своєї організації без підписання додаткової угоди з Mozilla Ви порушите ліцензійну угоду.
Але наша мета - підготувати внутрішній дистрибутив для своєї організації, так що все в порядку.
Підготовка.
- Список плагінів, які необхідно інтегрувати в дистрибутив, і їх дистрибутиви
- Список налаштувань - по-замовчуванню зі значеннями, які необхідно інтегрувати в дистрибутив (Можливо необхідно додати настройки за замовчуванням для інтегрованих плагінів)
Розпакування.
Немає нічого простіше: переходимо в папку зі скачаним дистрибутивом і розпаковуємо його 7zip.
У мене вийшла така команда:
Модифікація.
В після розпакування вийшла папці нас в першу чергу цікавить шлях core \ browser \ extensions. Для Firefox до версії 24esr і для Thunderbird цей шлях буде core \ extensions (через не ESR версіями я не стежу).
Якщо підкласти в цю папку розширення, то вони інтегруються в пересобірают дистрибутив. Я додаю розширення Mozilla GPO plugin для того, щоб в подальшому можна було керувати будь-якими налаштуваннями з групових політик. Можна підкласти відразу xpi файл, можна його розпакувати і підкласти папку розширення. Тут можлива проблема з ім'ям файлу / папки - див. Рішення проблем в кінці статті.
Також можна задати деякі настройки за замовчуванням.
Особисто я віддаю перевагу спускати їх через GPO, але можливо дистрибутив буде встановлюватися на ПК не в домені, тому нехтувати цими настройками теж не варто.
Для цього в папці core \ defaults \ pref необхідно створити файл з установками за замовчуванням. Файл обов'язково повинен бути в кодуванні UTF-8 і назвати його варто all-<имя компании>.js. Наприклад all-contoso.js:
Без цієї настройки Mozilla запитає у користувача чи варто встановлювати підкладені плагіни. За замовчуванням це значення параметра дорівнює 15. Детальніше можна почитати тут
Запаковуємо.
Після модифікації переходимо в папку з виправленим дистрибутивом (там де папки core, win32 і setup.exe) і запаковуємо його в архів. У мене вийшла така команда:
Створюємо в тій же папці файл app.tag (в кодуванні UFT-8!), Який вкаже sfx що запускати після розпакування архіву, з вмістом:
Копіюємо в цю ж папку 7zSD.sfx.
«Склеюємо» sfx-модуль, app.tag і архів програми:
Тепер після установки зі створеного дистрибутива:
- Автоматично встановляться всі включені доповнення
- У всіх профілях користувачів будуть застосовані ваші настройки за замовчуванням (Якщо в профілі явно не вказано значення настройки)
Можливі проблеми та їх вирішення.
Якщо не застосовуються Ваші настройки за замовчуванням:
- Перевірте назву і розташування файлу налаштувань в дистрибутиві (небажані національні символи, прогалини і спецсимволи в імені файлу)
- Перевірте кодування файлу налаштувань за замовчуванням (Повинна бути тільки UTF-8 без BOM)
Якщо не «підхопилися» інтегровані плагіни:
- Перевірте значення параметра extensions.autoDisableScopes. Якщо заборонені плагіни з папки Firefox, то користувачеві буде повідомлення, що хтось намагається встановити плагін.
- Перевірте, що Ви правильно назвали файл (або папку плагіна). Файл плагіна повинен мати ім'я виду id.xpi, де id - ідентифікатор плагіна як в install.rdf в поле em: id всередині плагіна. Ім'я папки плагіна має збігатися з його id.
Найвірніший шлях забезпечити виконання цієї умови: встановити плагін через інтерфейс управління плагінами Mozilla, а потім скопіювати папку (або файл) плагіна з профілю користувача в створюваний корпоративний дистрибутив.