Лицензия 1С перестала находиться: разбор по типам защиты и порядок восстановления
Содержание
Лицензия 1С чаще всего слетает по одной из трёх причин: изменилось оборудование или система компьютера, к которому привязана программная лицензия; платформа не видит аппаратный ключ HASP; или клиент не может достучаться до компьютера, где лицензия лежит. Программная лицензия восстанавливается повторной активацией с тем же пин-кодом или резервным, ключ — переустановкой драйвера и настройкой nethasp.ini.
Сначала поймите, какая у вас защита и где она стоит. От этого зависит весь дальнейший порядок действий. Ниже разбор по типам лицензий с конкретными файлами, службами и портами.
Всё, что описано ниже, касается законно купленных лицензий. «Обходы» защиты и сторонние эмуляторы мы не разбираем: это нарушение прав правообладателя, а такие сборки регулярно несут вредоносный код и ломают базы.
Как устроена защита 1С и какие бывают лицензии
Платформа 1С:Предприятие 8.3 при каждом запуске ищет лицензию. Не нашла — база не открывается, появляется сообщение Не обнаружена лицензия для использования программы! или Не обнаружен ключ защиты программы. Работы «в демо-режиме» без лицензии нет, исключение только учебная версия.
Типы защиты, с которыми сталкиваются на практике:
| Тип | Где хранится | Чем держится |
|---|---|---|
| 🔑 Программная лицензия | Файл .lic на диске | Привязка к параметрам компьютера и ОС |
| 🔌 Локальный ключ HASP | USB-ключ в компьютере | Драйвер Sentinel (HASP) |
| 🌐 Сетевой ключ HASP | USB-ключ на одном компьютере сети | Драйвер + менеджер лицензий, порт 475 |
| 🖥 Лицензии сервера 1С | Файл или ключ на сервере 1С | Служба агента сервера 1С |
Есть и разделение по назначению. Клиентские лицензии дают право работать N пользователям. Лицензия на сервер 1С нужна для клиент-серверного варианта и сама по себе пользователям рабочие места не даёт.
Где лежат файлы программных лицензий
- 📁
C:\ProgramData\1C\licenses— если лицензию активировали для всех пользователей компьютера; - 📁
%APPDATA%\1C\licenses— если активировали для одного пользователя Windows; - 📁
/var/1C/licenses— на сервере под Linux.
Файл с расширением .lic содержит данные о наборе параметров машины на момент активации. Его копирование на другой компьютер ничего не даст: там параметры другие.
Почему слетает программная лицензия 1С
Программная лицензия «снимает отпечаток» компьютера: имя, сетевые адаптеры, жёсткие диски, процессор, материнскую плату, объём памяти, версию ОС. Когда отпечаток расходится с записанным в файле, лицензия перестаёт считаться действительной.
Что обычно меняет отпечаток:
- 🔧 замена диска, материнской платы, процессора или сетевой карты;
- 💿 переустановка Windows или крупное обновление системы, которое меняет её идентификаторы;
- 🏷 переименование компьютера;
- 🧩 появление новых сетевых адаптеров: VPN-клиент, Hyper-V, VirtualBox, Docker создают виртуальные интерфейсы;
- ☁️ перенос виртуальной машины на другой хост, смена её MAC-адреса или клонирование;
- 🗑 удаление содержимого
ProgramDataутилитами «очистки» или вручную.
Отдельная группа причин — лицензия на месте, но платформа её не читает:
- 🔒 у учётной записи Windows нет прав на чтение папки
licenses; - 🛡 антивирус поместил файл
.licв карантин; - 👤 лицензию активировали «для текущего пользователя», а в 1С зашли под другим.
Если после переустановки ОС компьютер собран из тех же деталей, лицензию всё равно часто приходится активировать заново. Это нормально: пин-код при этом расходуется.
Сколько раз можно активировать
В комплекте лицензии есть основной пин-код и резервные. Повторная активация на том же компьютере с тем же отпечатком обычно проходит основным кодом. Если оборудование сменилось, нужен резервный. Когда резервные закончились, новые коды выдаёт центр лицензирования фирмы 1С через партнёра, у которого покупали программу, или по обращению с регистрационными данными комплекта.
Не тратьте резервные пин-коды на эксперименты. Сначала найдите и устраните причину смены отпечатка, иначе после следующего обновления драйверов лицензия слетит опять.
Ключ HASP не найден: диагностика аппаратной защиты
Аппаратный ключ проще в переносе, но ломается по своим причинам. Проверяйте по порядку.
- Ключ физически виден системе. На корпусе ключа должен гореть светодиод. Если нет — попробуйте другой порт USB, без удлинителей и пассивных хабов.
- Драйвер установлен и запущен. Откройте
services.mscи найдите службуSentinel LDK License Manager(в старых установках —HASP Loader). Она должна работать. - Драйвер подходит к системе. На новых сборках Windows старый драйвер HASP может не стартовать. Переустановите драйвер из каталога дистрибутива платформы.
- Ключ отображается в панели Sentinel. Откройте в браузере
http://localhost:1947— это локальная панель Admin Control Center. В разделе ключей должен быть ваш ключ.
Переустановка драйвера из командной строки, запущенной от имени администратора:
haspdinst.exe -r
haspdinst.exe -i
Первая команда удаляет драйвер, вторая ставит заново. Перед запуском закройте все сеансы 1С на этом компьютере.
Если ключ стоит на компьютере, с которого лицензию получают другие пользователи, при переустановке драйвера у всех них оборвётся работа. Делайте это вне рабочего времени.
Виртуальные машины и ключи
В виртуальной машине USB-ключ нужно явно пробросить в гостевую систему. После перезагрузки хоста или миграции ВМ проброс иногда отваливается — со стороны 1С это выглядит как «слетела лицензия». Для серверов с виртуализацией надёжнее ставить ключ на физический компьютер и раздавать по сети или использовать USB-over-IP устройство.
Сетевые конфликты: лицензию не видно с другого компьютера
С сетевым ключом и с лицензиями на сервере проблема часто не в самой защите, а в маршруте до неё.
Сетевой ключ HASP и nethasp.ini
Клиент ищет сетевой ключ широковещательным запросом. В сети с несколькими подсетями, VPN или строгим брандмауэром запрос не доходит. Решение — явно указать адрес компьютера с ключом в файле nethasp.ini. Он лежит в каталоге conf внутри папки установленной платформы, например C:\Program Files\1cv8\conf\nethasp.ini.
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
Здесь 192.168.1.10 — адрес компьютера с ключом. Отключение широковещания ускоряет поиск: клиент сразу идёт на указанный адрес.
На компьютере с ключом должен работать менеджер лицензий для сетевых ключей. Он слушает порт 475 (TCP и UDP). Этот порт открывают во входящих правилах брандмауэра Windows и на сетевом оборудовании между клиентом и ключом.
Клиент-серверный вариант
Если лицензии стоят на сервере 1С, клиент получает их через сервер. Маршрут такой: агент сервера на порту 1540, менеджер кластера на 1541, рабочие процессы — в диапазоне портов, заданном в свойствах рабочего сервера (по умолчанию 1560-1591). Закрытый диапазон рабочих процессов даёт ошибки подключения, которые пользователи принимают за проблему с лицензией.
Типовые признаки сетевой проблемы
- 📶 у одних пользователей 1С запускается, у других нет;
- 🕘 после подключения VPN или смены сегмента сети лицензия «пропадает»;
- 🔁 лицензия находится не с первого раза, запуск занимает минуту и больше.
Как восстановить лицензию 1С после сбоя
Порядок для программной лицензии на отдельном компьютере.
Шаг 1. Сохраните то, что есть
Скопируйте содержимое папки licenses в отдельное место. Даже если лицензия сейчас не работает, файл пригодится: после возврата старой сетевой карты или удаления лишнего адаптера он может снова стать действительным.
Шаг 2. Уберите очевидную причину
- удалите или отключите виртуальные сетевые адаптеры, появившиеся недавно, если они не нужны;
- верните прежнее имя компьютера, если его меняли;
- проверьте карантин антивируса и добавьте папку
licensesв исключения.
После этого перезапустите 1С. Нередко лицензия оживает без повторной активации.
Шаг 3. Активируйте лицензию заново
Запустите 1С:Предприятие от имени администратора Windows. Платформа сама откроет окно получения лицензии, когда не найдёт действующую. Дальше:
- Выберите получение лицензии через интернет (если сети нет — есть вариант с другого компьютера или по телефону).
- Введите регистрационный номер комплекта и пин-код. Сначала попробуйте тот, которым активировали раньше.
- Если система сообщает, что пин-код уже использован на другом оборудовании, введите резервный.
- Заполните регистрационные данные так же, как при первой активации: организация, ИНН, адрес. Расхождение с прежними данными может привести к отказу.
- Выберите, для кого сохранить лицензию. Для рабочих мест с несколькими учётными записями — для всех пользователей компьютера.
После активации зайдите в базу и откройте окно «О программе»: там видно, какая лицензия получена.
Шаг 4. Если коды закончились
Подготовьте регистрационный номер, номер комплекта и сведения о покупке. С ними обратитесь к партнёру 1С, который продавал программу, или в центр лицензирования. Как правило, при подтверждении законной покупки выдают дополнительные пин-коды.
Лицензии на сервере 1С и в терминале
В клиент-серверном варианте клиентские лицензии можно активировать прямо на сервере 1С. Тогда пользователям не нужно ничего ставить на свои компьютеры: сервер выдаёт лицензию на каждый сеанс.
Что проверять, если на сервере «слетели» лицензии:
- 🖥 служба агента сервера 1С запущена и работает под той учётной записью, у которой есть доступ к папке лицензий;
- 📂 файлы
.licлежат вC:\ProgramData\1C\licensesна сервере (или в/var/1C/licensesна Linux); - ⚙️ в свойствах рабочего сервера, в требованиях назначения функциональности, не запрещена выдача клиентских лицензий;
- 🧑💻 занятые лицензии видны по сеансам:
rac session list --licensesпоказывает, какой сеанс какую лицензию держит.
Узнать адрес кластера и его идентификатор можно командой rac cluster list. Остальные параметры rac смотрите в справке rac help.
Для локальных лицензионных файлов есть утилита ring с модулем работы с лицензиями. Команда ring license list выводит список установленных лицензий — удобно проверить, что файл вообще виден платформе. Остальные подкоманды смотрите через ring license help.
Терминальный сервер
На терминальном сервере лицензии ставят на сам сервер, а не на компьютеры пользователей. Каждый терминальный сеанс с 1С занимает одно рабочее место. Если сервер переустановили или перенесли на новую виртуальную машину, программная лицензия требует повторной активации так же, как на обычном компьютере.
Перезапуск службы агента сервера 1С обрывает все сеансы пользователей. Предупредите людей заранее и делайте это в нерабочее время.
Как сделать, чтобы лицензия 1С больше не слетала
Профилактика сводится к тому, чтобы не трогать отпечаток машины без нужды и знать, что у вас стоит.
- 📋 Ведите реестр лицензий. Номер комплекта, где активирован, какие пин-коды израсходованы, дата.
- 💾 Храните копию папки
licensesвместе с резервными копиями баз. - 🚫 Не ставьте на компьютер с лицензиями лишнее сетевое ПО. Каждый новый виртуальный адаптер — риск.
- 🔄 Планируйте замену железа. Знаете, что будете менять диск или плату, — заранее проверьте, остались ли резервные пин-коды.
- 🛡 Добавьте исключения в антивирус для папок платформы и лицензий.
- 🖥 Для серверов фиксируйте параметры ВМ: статический MAC-адрес, постоянное имя, запрет клонирования без переактивации.
- 🔌 Держите аппаратный ключ в задней панели, а не в передних портах или хабах: там его реже задевают и выдёргивают.
Если 1С используют больше трёх-четырёх человек, имеет смысл держать все клиентские лицензии в одном месте — на сервере 1С или на компьютере с сетевым ключом. Тогда при сбое восстанавливать нужно одну точку, а не обходить каждое рабочее место.