Почему в 1С не видны файлы программной лицензии и как найти источник лицензирования?

Системный администратор 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

Часто системные администраторы и специалисты 1С сталкиваются с парадоксальной ситуацией: программный комплекс успешно запускается, пользователи работают, но при попытке найти файлы лицензий (с расширением .lic) или получить информацию через утилиту ring, система выдает пустоту. Особенно это сбивает с толку, когда в справке "О программе" значится "Локальный HASP4", хотя физические USB-ключи в сервер не вставлены.

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

Различие между программной и аппаратной защитой: читаем справку правильно

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

Вариант А: Программная лицензия. Если в справке указано "Программная лицензия" и далее следует регистрационный номер (например, 810... или 801...), название организации и адрес — значит, 1С использует файлы .lic. В этом случае утилита ring должна их видеть (если они активированы в соответствующем реестре).

Вариант Б: Аппаратный ключ (HASP). Если вы видите надписи типа Локальный HASP4 ORGL8 5 или Сетевой HASP4 ORGL8 100, это означает, что платформа не ищет программные файлы. Она обнаружила ответ от аппаратного драйвера защиты или устройства. Если физического ключа (флешки-ключа) в сервере нет, значит, в системе работает эмулятор.

Рассмотрим подробнее, почему утилита ring license list может ничего не выдавать. Она предназначена исключительно для управления лицензиями нового образца. Если лицензия старая или аппаратная, ring будет бесполезна.

Поиск скрытых эмуляторов и виртуальных USB-шин

Если справка настойчиво пишет "HASP", а ключа в разъеме нет, давайте проанализируем систему на наличие эмуляторов. Они могут быть очень глубоко интегрированы и не отображаться в списке обычных служб Windows.

Выясним причину через Диспетчер устройств:

  1. Разверните ветку "Контроллеры USB". Ищите устройства с названиями: Virtual USB MultiKey, Virtual Bus Enumerator или Sentinel HASP Key.
  2. Проверьте раздел "Системные устройства". Часто эмуляторы маскируются именно там.
  3. Если вы нашли подобные записи, значит, в системе установлен драйвер, который подменяет ответы реального USB-ключа для платформы 1С.

Также стоит проверить системный реестр. Проанализируем следующие ветки:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspflt
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emulator
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emu
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_0529&PID_0001

Наличие этих веток при отсутствии ключа прямо указывает на использование неофициальных методов обхода защиты.

Проверка целостности и модификации библиотек (Патчи)

Бывают случаи, когда эмулятора как отдельного устройства нет, но 1С всё равно "видит" лицензию. Это может означать, что сама платформа была модифицирована (пропатчена). Разберем, как это проверить.

Наиболее часто модификациям подвергается файл backbas.dll, который находится в папке bin установленной платформы. Рассмотрим алгоритм проверки:

Именно поэтому при обновлении платформы 1С часто "теряет" лицензию: вы устанавливаете чистый backbas.dll, который не содержит механизмов обхода, и система начинает требовать легальный ключ.

Где на самом деле могут лежать программные лицензии .lic

Если вы уверены, что лицензии программные (официальные), но поиск *.lic по дискам не дает результата, давайте проверим скрытые и системные пути. Платформа 1С ищет файлы лицензий в строго определенном порядке.

Проанализируем основные места хранения:

  1. Общий профиль для всех пользователей: C:\ProgramData\1C\licenses. Это самое распространенное место.
  2. Каталог конфигурации платформы: C:\Program Files\1cv8\conf.
  3. Профиль пользователя, под которым запущен сервер 1С: Если служба 1C:Enterprise Server Administration запущена от имени конкретного пользователя (например, USR1CV8), лицензия может лежать в его профиле: C:\Users\USR1CV8\AppData\Local\1C\1cv8\conf.

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

Особенности лицензирования в клиент-серверном варианте (ERP)

В случае с ERP и клиент-серверной базой, механизм выдачи лицензий может быть еще сложнее. Выясним, кто именно раздает лицензии — сервер или клиент.

Если в консоли администрирования серверов 1С у сеанса в колонке "Лицензия" указано "Сервер", значит, лицензию выдал менеджер кластера (процесс rmngr). Сервер 1С может использовать:

Посмотрим на файл nnhasp.ini. Он может находиться в папке bin\conf. Если в нем жестко прописан параметр NH_SERVER_ADDR = 127.0.0.1, платформа будет искать ключ только на локальной машине, игнорируя сеть. Если там прописаны другие IP-адреса, возможно, 1С "подхватывает" лицензию с другого сервера в вашей сети.

Диагностика через запуск в терминальной сессии

Интересный симптом был упомянут в обсуждении: база запускается в консольной сессии сервера, но не находит лицензию в терминальной. Это классическое поведение для локальных аппаратных ключей серии HASP4. По правилам лицензирования, локальный ключ (однопользовательский) "не виден" в RDP-сессии. Для терминала нужен либо сетевой аппаратный ключ, либо программная лицензия.

Если у вас именно так и происходит — это лишнее подтверждение того, что система пытается использовать аппаратную защиту (или её имитацию), а не программный файл .lic.

Итоги и рекомендации

Подведем итог нашему анализу. Чтобы найти "исчезнувшую" лицензию, выполните следующие действия:

  1. Убедитесь, что в справке "О программе" написано "Программная лицензия". Если там "HASP" — файлы .lic искать бесполезно, ищите эмулятор или физический ключ.
  2. Проверьте папку C:\ProgramData\1C\licenses. В 90% случаев официальные лицензии находятся там.
  3. Если вы подозреваете наличие эмулятора, очистите реестр и удалите нетипичные USB-контроллеры из диспетчера устройств.
  4. Для ERP и серверных версий всегда проверяйте консоль администрирования: там четко указано, какой сеанс какую лицензию получил.

Помните, что использование патченных библиотек (backbas.dll) рано или поздно приведет к ошибке "Обнаружено нарушение целостности системы", так как современные версии платформы 8.3 имеют встроенные механизмы проверки оригинальности кода.

← На главную