К статье
Практический материал

Администрирование · 12 мин

Как сделать установщик 1С: от файла поставки до тихой установки

Как сделать установщик 1С: создание файла поставки конфигурации, сборка дистрибутива в конфигураторе и тихая установка платформы. Пошаговая инструкция.

Под «установщиком 1С» обычно понимают три разные задачи: собрать дистрибутив собственной конфигурации для передачи клиентам, подготовить комплект поставки с обновлением, либо автоматизировать установку самой платформы 1С:Предприятие на множество рабочих мест. Каждая задача решается своим инструментом, и путать их нельзя: механизм поставки конфигурации встроен в конфигуратор, а развёртывание платформы делается штатным установщиком с параметрами командной строки или через групповые политики.

Встроенный в конфигуратор механизм поставки позволяет упаковать конфигурацию в файл с расширением .cf (полная поставка) или .cfu (поставка обновления), а также сформировать полноценный дистрибутив с файлом описания 1cv8.mft, который пользователь устанавливает как обычную программу. Это стандартный способ распространения как типовых, так и самописных решений.

Перед началом работы убедитесь, что у вас есть актуальная резервная копия информационной базы и выгруженный файл конфигурации. Любые эксперименты с поставкой безопасно проводить только на копии базы: ошибка в настройках обновления может привести к потере данных у конечного пользователя.

Что именно вы хотите собрать: определяем тип установщика

Первый шаг — понять, какой результат нужен. Если вы разработчик и хотите передать конфигурацию клиенту, вам нужен файл поставки (.cf) и, при наличии предыдущих версий, файл обновления (.cfu). Если требуется, чтобы клиент установил решение «как программу», с выбором каталога и созданием шаблона в списке баз, собирается дистрибутив с комплектом поставки.

Если задача административная — раскатать платформу 1С на десятки компьютеров, — то собирать ничего не нужно: дистрибутив платформы уже содержит setup.exe, который поддерживает тихий режим и трансформации. Здесь работа сводится к подготовке скрипта или пакета для системы развёртывания.

Маршрут решения

Как выбрать действие

Нужно передать конфигурацию клиенту или партнёруСоздайте файл поставки .cf через механизм поставки в конфигураторе
Нужно обновить уже установленную у клиента конфигурациюСформируйте файл обновления .cfu с указанием версий-предшественников
Клиент должен установить решение сам, как обычную программуСоберите дистрибутив с файлом описания 1cv8.mft
Нужно установить платформу на много компьютеровИспользуйте setup.exe платформы с ключами тихой установки или групповые политики

Подготовка конфигурации к поставке

Откройте конфигуратор под пользователем с правами администратора и перейдите в меню «Конфигурация → Поддержка → Настройка поддержки». Для передачи конфигурации, которая будет находиться на поддержке у вендора, включите возможность изменения с сохранением поддержки. Если конфигурация полностью самописная и сопровождение не планируется, этот шаг можно пропустить.

Проверьте, что конфигурация обновлена до состояния базы данных: команда «Конфигурация → Обновить конфигурацию базы данных» должна завершаться без предложений изменений. Несоответствие конфигурации и конфигурации базы данных — частая причина ошибок при формировании файлов поставки.

Заполните свойства конфигурации: имя, версию, поставщика, краткую информацию. Номер версии критичен — механизм обновления ориентируется именно на него. Версия указывается в формате до четырёх чисел, разделённых точками, например 1.2.3.4. Неправильная или неубывающая нумерация ломает цепочки обновлений у клиентов.

Создание файлов поставки и обновления в конфигураторе

Основная команда находится в меню «Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления конфигурации». В открывшемся диалоге укажите каталог, куда будут сохранены файлы, и отметьте, что именно формировать: файл поставки конфигурации (1cv8.cf), файл обновления (1cv8.cfu) или оба варианта.

Для файла обновления обязательно укажите список версий, с которых возможен переход. Эти версии должны быть доступны как файлы .cf предыдущих поставок — конфигуратор использует их для построения корректного обновления. Если нужного файла предыдущей версии нет, добавьте его через кнопку выбора или снимите версию из списка.

После нажатия «Готово» конфигуратор сформирует файлы в указанном каталоге. Проверьте их наличие и размер: нулевой или аномально маленький файл — признак сбоя. Сохраняйте каждый выпущенный .cf в архиве версий: без него вы не сможете в будущем собрать обновление с этой версии.

Порядок создания файла поставки
  1. 1
    Сделайте копию базы и откройте её в конфигураторе
  2. 2
    Убедитесь, что конфигурация базы данных обновлена без остаточных изменений
  3. 3
    Проверьте и при необходимости увеличьте номер версии в свойствах конфигурации
  4. 4
    Откройте «Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления»
  5. 5
    Укажите каталог, отметьте нужные типы файлов, для .cfu задайте версии-предшественники
  6. 6
    Нажмите «Готово» и проверьте созданные файлы в каталоге
  7. 7
    Сохраните выпущенный .cf в архив версий для будущих обновлений

Сборка дистрибутива с файлом описания 1cv8.mft

Дистрибутив — это каталог с комплектом файлов и текстовым файлом описания 1cv8.mft, который платформа использует при установке. В описании указываются имя продукта, версия, поставщик, состав комплекта и относительные пути к файлам. Формат файла документирован в поставке платформы, и его можно создать в любом текстовом редакторе в кодировке ANSI (Windows-1251).

Типовая структура комплекта: корневой каталог с 1cv8.mft, подкаталог с файлами конфигурации (.cf, .cfu), при необходимости — файлы описаний, лицензионного соглашения и дополнительных материалов. Пользователь запускает установку через setup.exe комплекта или добавляет шаблон в список информационных баз, после чего создаёт базу из шаблона стандартным диалогом.

Команда «Конфигурация → Поставка конфигурации → Создать комплект поставки» автоматизирует большую часть работы: конфигуратор сам сформирует файл описания и сложит нужные файлы. Ручная правка 1cv8.mft нужна, когда требуется нестандартный состав — например, несколько конфигураций в одном комплекте или дополнительные внешние файлы.

Тихая установка платформы 1С на рабочие места

Дистрибутив платформы содержит установщик setup.exe, построенный на технологии Windows Installer. Для автоматической установки используется пассивный или тихий режим с указанием компонентов. Типовая команда выглядит так:

batch
setup.exe /S /v"TRANSFORMS=adminstall\transform.mst DESIGNERALLCLIENTS=1 THICKCLIENT=1 THINCLIENTFILE=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU /qn"

Параметр /S включает тихий режим обёртки, а всё после /v передаётся в msiexec: /qn — полностью скрытый интерфейс, перечисление компонентов (толстый и тонкий клиент, конфигуратор, серверные компоненты) определяет, что будет установлено. Для клиентских машин обычно достаточно тонкого и толстого клиента; серверные компоненты на рабочие места ставить не нужно.

Для централизованного развёртывания используют административную установку (setup.exe /a) с созданием точки сетевой установки и файла трансформации, после чего пакет распространяется через групповые политики или системы управления конфигурациями. Это позволяет обновлять платформу на всех машинах без обхода каждого рабочего места. Перед массовым обновлением проверьте совместимость новой версии платформы с используемыми конфигурациями и режимом совместимости баз.

Держите на файловом сервере каталог со всеми используемыми версиями платформы и готовым скриптом тихой установки. При выходе сотрудника из строя или подключении нового ПК развёртывание занимает минуты, а не часы, и не зависит от наличия под рукой исходных дисков.
ПЗ
Практическое замечание

Проверка результата и типичные ошибки

После сборки поставки обязательно протестируйте её на чистой базе. Создайте пустую информационную базу, загрузите сформированный .cf через «Конфигурация → Загрузить конфигурацию из файла» и выполните обновление конфигурации базы данных. Для .cfu проверьте обновление с каждой заявленной версии-предшественника: возьмите базу старой версии и прогоните обновление через «Поддержка → Обновить конфигурацию» с указанием файла поставки.

Для дистрибутива проверка — полный цикл установки на тестовой машине: запуск setup.exe комплекта, создание базы из шаблона через стартовое окно платформы, первый запуск в режиме предприятия. Для тихой установки платформы контролируйте код возврата установщика и наличие каталога платформы в Program Files.

Контрольные точки

Как проверить результат

Загрузка .cf в пустую базу
Норма

Конфигурация загружается, обновление БД проходит без ошибок

Тревожный признак

Ошибки загрузки или требование недоступных объектов

Обновление через .cfu со старой версии
Норма

Обновление применяется, данные сохраняются, версия меняется

Тревожный признак

Сообщение о невозможности обновления с текущей версии

Установка дистрибутива
Норма

Шаблон появляется в списке при создании базы

Тревожный признак

Ошибка чтения 1cv8.mft или пустой список шаблонов

Тихая установка платформы
Норма

Код возврата 0, платформа запускается

Тревожный признак

Код возврата отличен от 0, компоненты отсутствуют

Типичные ошибки
01
Не сохранили .cf выпущенной версии — невозможно собрать обновление с неё в будущем
02
Неверная нумерация версий — клиенты не могут обновиться, цепочка версий разрывается
03
Файл 1cv8.mft сохранён в UTF-8 — описание комплекта не читается установщиком
04
Не прогнали тестовое обновление — у клиента обновление падает на реальных данных
05
Установка серверных компонентов платформы на клиентские машины — лишняя нагрузка и путаница
06
Формирование поставки из базы с необновлённой конфигурацией БД — ошибки при сборке

Ограничения и альтернативные способы распространения

Механизм поставки не заменяет защиту от копирования: файл .cf открывается любым конфигуратором, если конфигурация не поставляется без исходных текстов модулей. При необходимости скрыть код используйте поставку без исходных текстов — этот вариант выбирается в настройках поставки, но помните, что отладка и доработка такой конфигурации у клиента станут невозможны.

Для внешних обработок и отчётов полноценный дистрибутив обычно избыточен: достаточно передать файл .epf или .erf, который подключается через механизм дополнительных отчётов и обработок. Для расширений конфигурации распространяется файл .cfe, который пользователь добавляет через «Все функции → Стандартные → Управление расширениями конфигурации» без изменения основной конфигурации.

Сторонние упаковщики (Inno Setup и подобные) иногда применяют, чтобы обернуть комплект поставки в привычный exe-установщик с лицензионным соглашением и выбором каталога. Это рабочий вариант, но он лишь копирует файлы — регистрацию шаблона в списке баз всё равно выполняет платформа, поэтому выигрыш невелик, а поддержка усложняется.

Итог

Что важно запомнить

Поставка конфигурации собирается штатно в конфигураторе, дистрибутив требует корректного 1cv8.mft в ANSI, платформа разворачивается тихой установкой setup.exe. Каждую выпущенную версию архивируйте, а любой установщик проверяйте на чистой тестовой базе до передачи пользователям.

Частые вопросы

Чем отличается файл .cf от .cfu?

Файл .cf — полная поставка конфигурации: его можно загрузить в пустую базу и получить рабочее решение. Файл .cfu — поставка обновления: он применяется только к базам с одной из указанных версий-предшественников и содержит лишь изменения. Для первого внедрения нужен .cf, для сопровождения — .cfu.

Можно ли собрать установщик, который сам создаст базу в списке у пользователя?

Штатный дистрибутив с 1cv8.mft добавляет шаблон, а базу пользователь создаёт через стандартный диалог платформы. Полностью автоматическое создание возможно скриптом: запуск 1cv8.exe с параметром CREATEINFOBASE, где указываются параметры новой базы и путь к шаблону.

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

В настройках поставки конфигурации есть вариант поставки без исходных текстов модулей — в файле остаются только скомпилированные образы. Учтите, что такую конфигурацию нельзя дорабатывать и отлаживать, а восстановить тексты из поставки невозможно, поэтому полную версию храните у себя.

Почему обновление у клиента сообщает, что текущая версия не поддерживается?

Причина почти всегда в том, что версия конфигурации клиента не входит в список версий-предшественников, указанный при создании .cfu, или номер версии в базе клиента был изменён вручную. Проверьте фактическую версию в свойствах конфигурации клиента и соберите обновление с включением этой версии.

Нужна ли отдельная лицензия для создания дистрибутива?

Для сборки файлов поставки и дистрибутива достаточно легальной установленной платформы. А вот распространение самой платформы вместе со своим решением регулируется лицензионным соглашением и партнёрскими условиями фирмы «1С» — передавать установщик платформы третьим лицам без соответствующих прав нельзя.

Как обновить платформу сразу на всех компьютерах офиса?

Создайте административную точку установки командой setup.exe /a, подготовьте файл трансформации с нужным набором компонентов и распространите пакет через групповые политики или используемую систему управления ПО. Предварительно проверьте новую версию платформы на тестовой копии рабочих баз.