Администрирование · 12 мин
Как сделать установщик 1С: от файла поставки до тихой установки
Как сделать установщик 1С: создание файла поставки конфигурации, сборка дистрибутива в конфигураторе и тихая установка платформы. Пошаговая инструкция.
Под «установщиком 1С» обычно понимают три разные задачи: собрать дистрибутив собственной конфигурации для передачи клиентам, подготовить комплект поставки с обновлением, либо автоматизировать установку самой платформы 1С:Предприятие на множество рабочих мест. Каждая задача решается своим инструментом, и путать их нельзя: механизм поставки конфигурации встроен в конфигуратор, а развёртывание платформы делается штатным установщиком с параметрами командной строки или через групповые политики.
Встроенный в конфигуратор механизм поставки позволяет упаковать конфигурацию в файл с расширением .cf (полная поставка) или .cfu (поставка обновления), а также сформировать полноценный дистрибутив с файлом описания 1cv8.mft, который пользователь устанавливает как обычную программу. Это стандартный способ распространения как типовых, так и самописных решений.
Перед началом работы убедитесь, что у вас есть актуальная резервная копия информационной базы и выгруженный файл конфигурации. Любые эксперименты с поставкой безопасно проводить только на копии базы: ошибка в настройках обновления может привести к потере данных у конечного пользователя.
Что именно вы хотите собрать: определяем тип установщика
Первый шаг — понять, какой результат нужен. Если вы разработчик и хотите передать конфигурацию клиенту, вам нужен файл поставки (.cf) и, при наличии предыдущих версий, файл обновления (.cfu). Если требуется, чтобы клиент установил решение «как программу», с выбором каталога и созданием шаблона в списке баз, собирается дистрибутив с комплектом поставки.
Если задача административная — раскатать платформу 1С на десятки компьютеров, — то собирать ничего не нужно: дистрибутив платформы уже содержит setup.exe, который поддерживает тихий режим и трансформации. Здесь работа сводится к подготовке скрипта или пакета для системы развёртывания.
Как выбрать действие
Подготовка конфигурации к поставке
Откройте конфигуратор под пользователем с правами администратора и перейдите в меню «Конфигурация → Поддержка → Настройка поддержки». Для передачи конфигурации, которая будет находиться на поддержке у вендора, включите возможность изменения с сохранением поддержки. Если конфигурация полностью самописная и сопровождение не планируется, этот шаг можно пропустить.
Проверьте, что конфигурация обновлена до состояния базы данных: команда «Конфигурация → Обновить конфигурацию базы данных» должна завершаться без предложений изменений. Несоответствие конфигурации и конфигурации базы данных — частая причина ошибок при формировании файлов поставки.
Заполните свойства конфигурации: имя, версию, поставщика, краткую информацию. Номер версии критичен — механизм обновления ориентируется именно на него. Версия указывается в формате до четырёх чисел, разделённых точками, например 1.2.3.4. Неправильная или неубывающая нумерация ломает цепочки обновлений у клиентов.
Создание файлов поставки и обновления в конфигураторе
Основная команда находится в меню «Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления конфигурации». В открывшемся диалоге укажите каталог, куда будут сохранены файлы, и отметьте, что именно формировать: файл поставки конфигурации (1cv8.cf), файл обновления (1cv8.cfu) или оба варианта.
Для файла обновления обязательно укажите список версий, с которых возможен переход. Эти версии должны быть доступны как файлы .cf предыдущих поставок — конфигуратор использует их для построения корректного обновления. Если нужного файла предыдущей версии нет, добавьте его через кнопку выбора или снимите версию из списка.
После нажатия «Готово» конфигуратор сформирует файлы в указанном каталоге. Проверьте их наличие и размер: нулевой или аномально маленький файл — признак сбоя. Сохраняйте каждый выпущенный .cf в архиве версий: без него вы не сможете в будущем собрать обновление с этой версии.
- 1Сделайте копию базы и откройте её в конфигураторе
- 2Убедитесь, что конфигурация базы данных обновлена без остаточных изменений
- 3Проверьте и при необходимости увеличьте номер версии в свойствах конфигурации
- 4Откройте «Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления»
- 5Укажите каталог, отметьте нужные типы файлов, для .cfu задайте версии-предшественники
- 6Нажмите «Готово» и проверьте созданные файлы в каталоге
- 7Сохраните выпущенный .cf в архив версий для будущих обновлений
Сборка дистрибутива с файлом описания 1cv8.mft
Дистрибутив — это каталог с комплектом файлов и текстовым файлом описания 1cv8.mft, который платформа использует при установке. В описании указываются имя продукта, версия, поставщик, состав комплекта и относительные пути к файлам. Формат файла документирован в поставке платформы, и его можно создать в любом текстовом редакторе в кодировке ANSI (Windows-1251).
Типовая структура комплекта: корневой каталог с 1cv8.mft, подкаталог с файлами конфигурации (.cf, .cfu), при необходимости — файлы описаний, лицензионного соглашения и дополнительных материалов. Пользователь запускает установку через setup.exe комплекта или добавляет шаблон в список информационных баз, после чего создаёт базу из шаблона стандартным диалогом.
Команда «Конфигурация → Поставка конфигурации → Создать комплект поставки» автоматизирует большую часть работы: конфигуратор сам сформирует файл описания и сложит нужные файлы. Ручная правка 1cv8.mft нужна, когда требуется нестандартный состав — например, несколько конфигураций в одном комплекте или дополнительные внешние файлы.
Тихая установка платформы 1С на рабочие места
Дистрибутив платформы содержит установщик setup.exe, построенный на технологии Windows Installer. Для автоматической установки используется пассивный или тихий режим с указанием компонентов. Типовая команда выглядит так:
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.
Как проверить результат
Конфигурация загружается, обновление БД проходит без ошибок
Ошибки загрузки или требование недоступных объектов
Обновление применяется, данные сохраняются, версия меняется
Сообщение о невозможности обновления с текущей версии
Шаблон появляется в списке при создании базы
Ошибка чтения 1cv8.mft или пустой список шаблонов
Код возврата 0, платформа запускается
Код возврата отличен от 0, компоненты отсутствуют
Ограничения и альтернативные способы распространения
Механизм поставки не заменяет защиту от копирования: файл .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, подготовьте файл трансформации с нужным набором компонентов и распространите пакет через групповые политики или используемую систему управления ПО. Предварительно проверьте новую версию платформы на тестовой копии рабочих баз.