В работе системного администратора или специалиста по внедрению 1С часто возникает задача массовой установки платформы на большое количество рабочих мест (поможет инструмент централизованного администрирования и обновления 1С), а в отдельных случаях может потребоваться и запуск 1С в Docker на Linux. Стандартный метод установки через графический интерфейс с постоянным нажатием кнопки «Далее» занимает много времени и повышает риск ошибок со стороны пользователя. В этой статье мы подробно разберем, как автоматизировать процесс установки 1С, используя помощник установки сервера для Linux, настроить необходимые компоненты и автоматически развернуть список информационных баз.
Основной способ быстрой установки заключается в использовании штатного установщика Windows — msiexec.exe. Это позволяет запустить процесс в «тихом» режиме, когда пользователю не нужно совершать никаких действий. Рассмотрим структуру команды для запуска установки. Важно помнить, что в современных операционных системах, таких как Windows 10 или 11, запуск необходимо производить от имени администратора.
Для начала разберем основные ключи, которые мы будем передавать инсталлятору 1CEnterprise 8.msi. Проанализируем пример рабочей команды:
msiexec /i "1CEnterprise 8.msi" /qn TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=1 THICKCLIENT=1 THINCLIENTFILE=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU
Разберем подробнее, что означает каждый параметр в этом скрипте:
/i — указывает на запуск процесса установки./qn — режим «тихой» установки без отображения интерфейса. Если вы хотите, чтобы пользователь видел хотя бы полосу прогресса, используйте ключ /qr (сокращенный интерфейс).TRANSFORMS=adminstallrelogon.mst;1049.mst — подключение файлов трансформации. Файл 1049.mst отвечает за выбор русского языка в интерфейсе установщика.DESIGNERALLCLIENTS=1 — обязательный флаг, если вам нужны основные компоненты: Конфигуратор, средства администрирования и Толстый клиент.THINCLIENT=1 и THINCLIENTFILE=1 — установка Тонкого клиента для работы в клиент-серверном и файловом вариантах соответственно.LANGUAGES=RU — установка русского языка для интерфейса самой платформы.Если при попытке запуска через Start /wait система выдает ошибку о недопустимом ключе, рекомендуем использовать прямой вызов msiexec /i, как показано в примере выше. Это гарантирует корректную передачу параметров установщику Windows.
Существует еще более элегантный способ настройки, который не требует написания длинных скриптов в bat-файлах. Мы можем использовать конфигурационный файл 1cesetup.cfg. Этот файл должен располагаться в той же папке, где находится setup.exe платформы.
Проанализируем содержимое типичного файла конфигурации:
Component.Languages=RU
Component.Default=ThinClient,ThickClient,Designer
DefaultLanguage=RU
При использовании такого подхода системному администратору достаточно запустить setup.exe, и программа установки автоматически «подцепит» все настройки. Это удобно, если вы предоставляете дистрибутив пользователям для самостоятельного запуска, но хотите, чтобы все нужные галочки уже стояли на своих местах.
После установки платформы перед нами встает вторая задача: как сделать так, чтобы у пользователя сразу появился нужный список баз? Выясним причину, по которой ручное добавление баз неэффективно. Это трудозатратно и часто приводит к опечаткам в путях или именах серверов.
Рассмотрим два основных способа решения этой задачи:
.v8i. По умолчанию он находится по пути: %AppData%\1C\1CEStart\ibases.v8i. Мы можем заранее подготовить этот файл на эталонном компьютере и вставить команду копирования в наш установочный bat-ник, либо использовать групповые политики GPO для замены имени сервера в ibases.v8i.C:\Program Files\1cv8\common) можно создать файл 1cescmn.cfg, в котором прописать параметр CommonInfoBases.Пример содержимого 1cescmn.cfg:
CommonInfoBases=\\ServerName\1C_Distr\common_bases.v8i
В этом случае платформа будет считывать список баз из общего сетевого ресурса. Если вам потребуется добавить новую базу всем сотрудникам, вам нужно будет просто изменить один файл на сервере, и база появится у всех автоматически при следующем запуске 1С.
Иногда возникают специфические задачи, когда компоненты сервера нужны на компьютере (например, для отладки), но сама служба сервера не должна запускаться автоматически. Для этого мы можем использовать дополнительные параметры MSI-пакета.
Разберем ситуацию: нам нужно установить серверные компоненты, но управлять их запуском вручную. В этом случае используйте флаг INSTALLASSERVICE=0. Если же служба нужна, но требуется сразу назначить ей права, используйте параметры SERVICEUSER и SERVICEPASSWORD для указания учетной записи Windows, от которой будет работать rphost.
Посмотрим на важные моменты, которые часто упускают из виду при автоматизации:
Драйверы защиты (HASP): По умолчанию драйвер аппаратного ключа может не установиться. Чтобы включить его установку в общий цикл, добавьте параметр HASP=1 в командную строку msiexec.
Автоматическое обновление: Чтобы не переустанавливать 1С каждый раз при выходе нового релиза, настройте файл 1cestart.cfg. Параметр DistributiveLocation, указывающий на сетевую папку с новыми версиями, позволит платформе самостоятельно предлагать пользователю обновиться до нужной версии при запуске.
Удаление старых версий: Платформа 1С имеет особенность накапливать старые версии в папке Program Files, что занимает много места. В сценарий автоматизации полезно добавить команду удаления предыдущих релизов через их GUID: msiexec /x {GUID} /qn. Найти GUID конкретной версии можно в реестре Windows в разделе Uninstall.
Используя приведенные выше инструкции и примеры кода, вы сможете создать надежный инструмент для быстрого развертывания 1С:Предприятия в вашей организации, что значительно упростит поддержку и обновление программного обеспечения.