Разворачиваем Mozilla FireFox с помощью SCCM 2012

imageРассмотрим процесс развёртывания браузера Mozilla FireFox версии 15.0.1 с помощью System Center 2012 Configuration Manager.

Для начала распакуем загруженный дистрибутив с помощью 7zip во временный каталог, например C:\temp\Firefox Setup 15.0.1

Перейдём в подкаталог \core\defaults и создадим там каталог preferences. В созданном каталоге создадим файл prefs.js для настройки параметров FireFox со следующим содержимым:

//Mozilla Firefox config
//
//Запрещаем импорт настроек из других браузеров при первом запуске.
pref("profile.allow_automigration", false);
pref("profile.confirm_automigration", false);

//Не устанавливаем FF браузером по умолчанию.
pref("browser.shell.checkDefaultBrowser", false);

//Не выводим сообщение о правах использования.
pref("browser.rights.3.shown", true);

//Отказываемся отправлять сведения о производительности.
pref("toolkit.telemetry.rejected", true);
pref("toolkit.telemetry.prompted", 2);

//Отключаем отчёт о работоспособности FF
pref("datareporting.healthreport.uploadEnabled", false);

//Отключаем автоматические обновления.
pref("app.update.channel", "default");
pref("app.update.auto", false);
pref("app.update.enabled", false);
pref("browser.search.update", false);
pref("app.update.mode", 0);

//Отключаем мастер-паролей
pref("signon.rememberSignons", false);

//Настраиваем Proxy.
//0,3 -- без proxy
//1 -- ручная настройка
//2 -- указать путь до файла с параметрами автонастройки
//4 -- автонастройка
//5 -- системные параметры
pref("network.proxy.type", 4);

//Включаем Kerberos аутентификацию и указываем узлы по маске.
pref("network.negotiate-auth.delegation-uris", "holding.com, holding2.com");

//Включаем NTLM аутентификацию и указываем узлы по маске.
pref("network.automatic-ntlm-auth.trusted-uris", "holding.com, holding2.com")
pref("network.negotiate-auth.trusted-uris", "holding.com, holding2.com");

//Отключаем сраницу приветствия при первом запуске.
pref("startup.homepage_welcome_url", "");
pref("startup.homepage_override_url", "");

//Указываем домашнюю страницу 0-пустая
pref("browser.startup.page", 1);
pref("browser.startup.homepage", "www.mycompany.com");

Для того, чтоб при первом запуске браузера не запускался мастер импорта настроек с других браузеров, в каталоге core создадим текстовый файл override.ini с следующим содержимым:

[XRE]
EnableProfileMigrator=false

Во время установки FireFox устанавливается служба, которая следит за обновлениями браузера. Ключами в этом релизе отключить установку службы нет возможности, поэтому просто удалим файлы дистрибутива: maintenanceservice_installer.exe и maintenanceservice.exe. Не смотря на такую жестокость, браузер устанавливается без ошибок.

Заархивируем каталог Firefox Setup 15.0.1 с помощью 7zip с именем FireFox.7z

Для того, чтобы превратить обычный 7z-архив в самораспаковывающийся архив, выполним следующие действия:

Загрузим с сайта Олега Щербакова библиотеку 7zsd.sfx
Создадим файл Config.txt с следующим содержимым:

;!@Install@!UTF-8!
RunProgram="setup.exe /S"
Delete="%ALLUSERSPROFILE%\\Рабочий стол\\Mozilla Firefox.lnk"
Delete="%Public%\\Desktop\\Mozilla Firefox.lnk"
GUIMode="2"
;!@InstallEnd@!

Сохраняем текстовый документ в кодировке UTF-8 – это обязательный шаг, и если этого не сделать, - работать указанные параметры не будут (таковы требования библиотеки)

Собираем три наших файла в одно целое командой:

COPY /b 7zsd.sfx + Config.txt + FireFox.7z FireFox.exe


Для того, что с помощью SCCM не только устанавливать, но и удалять FireFox создадим Uninstall.bat с следующим содержимым:

IF EXIST "%WINDIR%\SysWOW64" (
"%ProgramFiles(x86)%\Mozilla Firefox\uninstall\helper.exe" /S
) ELSE (
"%ProgramFiles%\Mozilla Firefox\uninstall\helper.exe" /S
)

Выкладываем 2 получившихся файла на сетевой ресурс и приступаем к созданию Приложения в SCCM.

В первом окне мастера создания приложения, укажем, что мы хотим вручную задать все сведения о приложении

image

Укажем основную информацию о приложении

image

Если есть перспектива развёртывания приложения используя Application Catalog, то стоит позаботиться о пользователях - описать приложение и добавить иконку

image

На шаге “Типы развёртывания” выберем тип “Установщик сценариев (основной)” и поставим переключатель на “Указать информацию о типе развёртывания вручную”. Полностью ручной метод описания выбирается по причине большего удобства, ведь созданный нами “инсталлятор” по факту представляет собой самораспаковывающийся архив.

image

Укажем где хранятся файлы нашего приложения.

image

Укажем 2 метода обнаружения нашего приложения, для x86 и x64

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 15.0.1 (x86 ru)

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 15.0.1 (x86 ru)

Не забываем установить ИЛИ в параметре соединения ключей реестра.

image

Для того чтобы не было запросов авторизации при установке приложения, режим установки выбираем “установить для системы”, а чтобы не ждать входа пользователя в систему, в требованиях к входу выберем “В любом случае”.

image

На шаге “Требования” разрешим установку нашего приложения только на клиентские ОС, а также укажем жёсткое соответствие пользователя и компьютера, для того, чтобы пользователи не могли запрашивать и устанавливать приложения на компьютерах, на которых они не являются основными пользователями.

image

На этом всё, осталось только в SCCM развернуть наше приложение на коллекцию компьютеров и/или пользователей.

UPDATE 10.06.2014:

В более новых версиях браузера способ настройки изменился.

1. Для запрета запуска мастера импорта при первом запуске, файл override.ini необходимо поместить в \core\browser.

2. Настройку браузера осуществлять через файл mozilla.cfg, который должен располагаться в каталоге core. В расположении core\defaults\pref\ создать файл local-settings.js с следующим содержимым:

pref("general.config.obscure_value", 0);
pref("general.config.filename", "mozilla.cfg");

При использовании этого метода, конфигурация будет всегда считываться с файла при открытии браузера. У пользователя будет возможность изменять заданные конфигом настройки, но только на сессию. Настройки Proxy я перенёс в core\defaults\pref\channel-prefs.js. В этом случае, они считываются раз при первом запуске браузера и в дальнейшем пользователь может сохранить свои настройки, если это необходимо.

3. Для отключения отправки сообщений при падениях необходимо создать ключ реестра SubmitCrashReport типа DWORD (32-bit) с значением 0 в расположении: HKLM\SOFTWARE\Mozilla\Firefox\Crash Reporter

Для автоматизации процесса создадим install.bat, который будем использовать для установок:

FireFox_29.0.1.exe
IF NOT EXIST "%WINDIR%\SysWOW64" (
    REG ADD "HKLM\SOFTWARE\Mozilla\Firefox\Crash Reporter" /v SubmitCrashReport /t REG_DWORD /d 0x0 /f
) ELSE (
    REG ADD "HKLM\SOFTWARE\Wow6432Node\Mozilla\Firefox\Crash Reporter" /v SubmitCrashReport /t REG_DWORD /d 0x0 /f
)

Применимо к Mozilla FireFox 29.0.1

 

Дополнительные источники информации:

1. Первые шаги к созданию SFX архива
2.
Список настроек About:config на русском языке с пояснениями

Добавить комментарий