Файлы программной лицензии 1С 8.3: где искать, как удалить и перенести

· 9 мин

Содержание

Программные лицензии 1С 8.3 хранятся в файлах с расширением .lic. В Windows основная папка — C:\ProgramData\1C\licenses, пользовательская — %APPDATA%\1C\licenses. В Linux лицензии для всех пользователей лежат в /var/1C/licenses. Имя файла обычно состоит из цифр, например 20240315104512345.lic.

С аппаратным ключом HASP всё иначе: лицензия живёт в самом USB-ключе, файла лицензии на диске нет. На диске есть только настройка поиска сетевого ключа — nethasp.ini. Ниже пути для обеих схем, порядок удаления, разбор частых сбоев и перенос при смене сервера.

Где хранятся файлы лицензии 1С в Windows

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

КаталогПолный путьКто видит лицензию
Общий, для всех пользователейC:\ProgramData\1C\licensesВсе учётные записи компьютера, включая службу сервера 1С
Профиль пользователяC:\Users\<имя>\AppData\Roaming\1C\licensesТолько этот пользователь

Папка ProgramData скрытая. Проще всего попасть в неё так:

  1. Нажмите Win + R.
  2. Введите %ProgramData%\1C\licenses и нажмите Enter.
  3. Для пользовательского каталога введите %APPDATA%\1C\licenses.

Если папки нет, лицензию на этом компьютере никто не активировал. Либо её получили под другой учётной записью.

Быстрый поиск всех файлов .lic

Когда непонятно, куда активировали лицензию, проверьте оба места и профили всех пользователей одной командой PowerShell:

Get-ChildItem -Path "C:\ProgramData\1C", "C:\Users\*\AppData\Roaming\1C" -Recurse -Filter *.lic -ErrorAction SilentlyContinue |
  Select-Object FullName, Length, LastWriteTime

Запускайте PowerShell от имени администратора. Иначе чужие профили будут недоступны, и список выйдет неполным.

На терминальном сервере клиентские лицензии активируйте в общий каталог ProgramData. Лицензия в профиле одного пользователя не видна остальным, и у них 1С будет просить ключ.

Что значит, где лежит файл

  • 🖥️ Лицензия однопользовательская или многопользовательская клиентская — файл на том компьютере, где её активировали.
  • 🗄️ Лицензия на сервер 1С:Предприятия — файл на компьютере с сервером 1С. Служба сервера обычно работает под отдельной учётной записью (по умолчанию USR1CV8). Поэтому серверной лицензии место в ProgramData, а не в профиле администратора.
  • 👥 Клиентские лицензии в клиент-серверном варианте тоже можно держать на сервере 1С. Тогда сеансы получают их от сервера, а на рабочих местах файлов нет.

Пути к лицензиям 1С на Linux

Сервер 1С официально работает под Windows и Linux. Для Linux основной каталог один:

ls -l /var/1C/licenses/

Сюда попадают лицензии, активированные для всех пользователей. Сервер 1С на Linux запускается от пользователя usr1cv8. Значит, у этого пользователя должно быть право чтения на каталог и файлы.

Проверьте владельца и права:

ls -ld /var/1C/licenses
ls -l /var/1C/licenses/*.lic

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

sudo find / -name "*.lic" -path "*1C*" 2>/dev/null
sudo find /home /root -path "*.1cv8*" -name "*.lic" 2>/dev/null

Не меняйте права на /var/1C/licenses командой вида chmod 777. Достаточно, чтобы usr1cv8 мог читать файлы. Открытый на запись каталог лицензий — лишний риск.

FreeBSD фирма 1С не поддерживает как платформу для сервера 1С:Предприятия. Под FreeBSD исторически работал только менеджер сетевых ключей HASP. Если у вас такой сервер, файлов .lic 1С там не будет — только настройки менеджера ключей.

Аппаратные ключи HASP и эмуляторы

В схеме с USB-ключом файл лицензии не нужен. Работают два компонента:

  • 🔑 драйвер ключа на компьютере, куда вставлен ключ;
  • 🌐 менеджер лицензий HASP License Manager — для сетевых ключей, он раздаёт лицензии по сети через UDP-порт 475.

Клиент 1С ищет сетевой ключ по настройкам файла nethasp.ini. Он лежит в каталоге conf установленной платформы, например C:\Program Files\1cv8\conf\nethasp.ini, или в bin\conf конкретной версии. Без него клиент ищет ключ широковещательным запросом. В сети с несколькими подсетями это часто не срабатывает.

Минимальная рабочая настройка, где 192.168.1.10 — адрес компьютера с ключом:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled

Если на сервере стоит эмулятор ключа

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

Эмулятор — это нарушение исключительных прав фирмы 1С. Последствия бывают серьёзные: проверка, изъятие сервера, ответственность руководителя. Помимо этого, такие сборки часто приходят с вредоносным кодом, а драйвер виртуальной шины роняет систему после обновлений Windows.

Что делать легально:

  1. Сообщите руководству, что на сервере нелицензионная защита.
  2. Купите нужный комплект лицензий у партнёра 1С или проверьте, нет ли уже купленных и неактивированных.
  3. Удалите эмулятор и его драйвер через Диспетчер устройств и список установленных программ.
  4. Активируйте программные лицензии или подключите настоящий ключ.

Инструкций по настройке эмуляторов здесь нет и не будет.

Как удалить или сбросить лицензию 1С

Удаление программной лицензии — это удаление её файла. Отдельной команды «отвязать» в платформе нет, и пин-код при этом обратно не возвращается.

Перед удалением скопируйте файл .lic в надёжное место. На том же компьютере с тем же оборудованием копия заработает снова, если её вернуть в каталог.

Пошагово в Windows:

  1. Предупредите пользователей и закройте все сеансы 1С на этом компьютере. На сервере 1С сеансы работают через службу: после удаления серверной лицензии новые сеансы не запустятся, а работающие могут прерваться. Делайте это вне рабочего времени.
  2. Откройте %ProgramData%\1C\licenses и %APPDATA%\1C\licenses.
  3. Определите нужный файл по дате изменения и размеру. Если файлов несколько, а нужен один, посмотрите список лицензий утилитой ring license list. Утилита входит в состав инструментов лицензирования 1С.
  4. Скопируйте файл в резервную папку.
  5. Удалите его из каталога лицензий.
  6. Запустите 1С. Платформа предложит получить лицензию заново, если других подходящих нет.

В Linux порядок тот же. Файл удаляйте из /var/1C/licenses командой sudo rm, предварительно сделав копию.

Когда удаление действительно нужно

  • 🔁 после замены оборудования лицензия стала недействительной, и 1С выдаёт ошибку при каждом запуске;
  • 🧹 в каталоге остались файлы от старых комплектов, и нужно навести порядок;
  • 🧪 лицензию по ошибке активировали в профиль пользователя, а нужна общая.

В последнем случае не активируйте второй раз сразу. Сначала перенесите файл из AppData в ProgramData на том же компьютере. Лицензия привязана к оборудованию, а не к папке, поэтому перенос внутри одного компьютера работает.

Диагностика: 1С не видит файл лицензии

Классический текст ошибки: Не обнаружен ключ защиты программы или полученная программная лицензия! Причины почти всегда в одном из пяти пунктов:

  1. Файл лежит в профиле одного пользователя, а запускает 1С другой. Или служба сервера 1С работает под учётной записью, у которой нет доступа к файлу.
  2. Изменилось оборудование: заменили материнскую плату, диск, сетевую карту. Параметры компьютера больше не совпадают с теми, что зашиты в лицензию.
  3. Виртуальную машину перенесли на другой хост, сменили MAC-адрес или пересоздали из шаблона.
  4. Права на каталог licenses урезаны. Это частая история после ужесточения политик безопасности на сервере.
  5. В клиент-серверном варианте клиентские лицензии ждут на сервере, а лежат на рабочем месте, или наоборот.

Как проверить права службы на каталог в Windows

Сначала узнайте, под какой учётной записью работает служба. Откройте services.msc, найдите службу агента сервера 1С:Предприятия и посмотрите вкладку «Вход в систему».

Затем проверьте права на каталог командой:

icacls "C:\ProgramData\1C\licenses"

В списке должна быть эта учётная запись или группа, в которую она входит, хотя бы с правом чтения. Если её нет, добавьте право чтения через свойства папки, вкладка «Безопасность». Если новые сеансы по-прежнему не получают лицензию, перезапустите службу. Делайте это вне рабочего времени: перезапуск оборвёт сеансы всех пользователей.

Для сервера 1С полезна команда консольного администрирования:

rac session list --licenses

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

Диагностика: выберите симптом

Перенос лицензий при смене сервера

Программную лицензию нельзя перенести копированием. Файл .lic с другого компьютера на новом сервере не заработает: лицензия привязана к параметрам того оборудования, на котором её получили.

Порядок переноса:

  1. Найдите конверт с пин-кодами комплекта. В нём основной и резервные пин-коды.
  2. Выясните, какие пин-коды уже использованы. Если учёта нет, его придётся восстановить по документам или через партнёра.
  3. Подготовьте регистрационные данные: организацию, ИНН, адрес. При активации их вводят так же, как при первой регистрации комплекта.
  4. Установите на новом сервере платформу той же разрядности, что нужна для работы.
  5. Активируйте лицензию на новом сервере свободным резервным пин-кодом. Выбирайте сохранение для всех пользователей.
  6. Проверьте запуск под учётной записью службы сервера 1С.
  7. Только после этого выводите старый сервер из работы.

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

С аппаратным ключом перенос проще. Переставьте ключ в новый сервер, установите драйвер и менеджер лицензий, обновите адрес в nethasp.ini на рабочих местах.

Перед выводом старого сервера из работы
Выполнено: 0 / 5

Частые ошибки администраторов с файлами лицензий

  • ❌ Активировать лицензию на ноутбуке «для проверки». Пин-код израсходован, а лицензия привязана к ноутбуку.
  • ❌ Чистить ProgramData целиком при переустановке платформы. Вместе с кэшем уходят файлы лицензий. Удаляйте только то, что знаете.
  • ❌ Не хранить копии .lic. После сбоя диска на том же сервере копия выручила бы без траты резервного пин-кода, если оборудование не менялось.
  • ❌ Клонировать сервер с лицензией. Клон на другом хосте лицензию не примет, а исходный сервер её сохранит. Выйдет путаница, но не экономия.
  • ❌ Хранить пин-коды только в почте сотрудника. Он увольняется, и вместе с ним уходит история активаций.

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

Можно ли открыть файл .lic и посмотреть, что в нём?
Файл можно открыть текстовым редактором, но править его нельзя: лицензия подписана, и любое изменение делает её недействительной. Сведения о лицензии удобнее смотреть утилитой ring.
Сколько файлов лицензий может лежать в одном каталоге?
Несколько. Платформа суммирует подходящие лицензии, поэтому комплекты на 5 и 10 пользователей дают вместе 15 мест.
Повлияет ли переустановка Windows на лицензию?
Если оборудование то же, верните сохранённый файл .lic в каталог лицензий. Без копии придётся активировать заново.
Нужно ли удалять лицензию при продаже старого компьютера?
Да, удалите файл. На чужом оборудовании он всё равно не заработает, но в нём остаются регистрационные данные вашей организации.
Почему после обновления платформы лицензия не пропала?
Каталог лицензий не зависит от версии платформы. Обновление ставит новую папку с исполняемыми файлами, а файлы .lic остаются на месте.