Файлы программной лицензии 1С 8.3: где искать, как удалить и перенести
Содержание
Программные лицензии 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 скрытая. Проще всего попасть в неё так:
- Нажмите
Win + R. - Введите
%ProgramData%\1C\licensesи нажмите Enter. - Для пользовательского каталога введите
%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С или проверьте, нет ли уже купленных и неактивированных.
- Удалите эмулятор и его драйвер через
Диспетчер устройстви список установленных программ. - Активируйте программные лицензии или подключите настоящий ключ.
Инструкций по настройке эмуляторов здесь нет и не будет.
Как удалить или сбросить лицензию 1С
Удаление программной лицензии — это удаление её файла. Отдельной команды «отвязать» в платформе нет, и пин-код при этом обратно не возвращается.
Перед удалением скопируйте файл .lic в надёжное место. На том же компьютере с тем же оборудованием копия заработает снова, если её вернуть в каталог.
Пошагово в Windows:
- Предупредите пользователей и закройте все сеансы 1С на этом компьютере. На сервере 1С сеансы работают через службу: после удаления серверной лицензии новые сеансы не запустятся, а работающие могут прерваться. Делайте это вне рабочего времени.
- Откройте
%ProgramData%\1C\licensesи%APPDATA%\1C\licenses. - Определите нужный файл по дате изменения и размеру. Если файлов несколько, а нужен один, посмотрите список лицензий утилитой
ring license list. Утилита входит в состав инструментов лицензирования 1С. - Скопируйте файл в резервную папку.
- Удалите его из каталога лицензий.
- Запустите 1С. Платформа предложит получить лицензию заново, если других подходящих нет.
В Linux порядок тот же. Файл удаляйте из /var/1C/licenses командой sudo rm, предварительно сделав копию.
Когда удаление действительно нужно
- 🔁 после замены оборудования лицензия стала недействительной, и 1С выдаёт ошибку при каждом запуске;
- 🧹 в каталоге остались файлы от старых комплектов, и нужно навести порядок;
- 🧪 лицензию по ошибке активировали в профиль пользователя, а нужна общая.
В последнем случае не активируйте второй раз сразу. Сначала перенесите файл из AppData в ProgramData на том же компьютере. Лицензия привязана к оборудованию, а не к папке, поэтому перенос внутри одного компьютера работает.
Диагностика: 1С не видит файл лицензии
Классический текст ошибки: Не обнаружен ключ защиты программы или полученная программная лицензия! Причины почти всегда в одном из пяти пунктов:
- Файл лежит в профиле одного пользователя, а запускает 1С другой. Или служба сервера 1С работает под учётной записью, у которой нет доступа к файлу.
- Изменилось оборудование: заменили материнскую плату, диск, сетевую карту. Параметры компьютера больше не совпадают с теми, что зашиты в лицензию.
- Виртуальную машину перенесли на другой хост, сменили MAC-адрес или пересоздали из шаблона.
- Права на каталог
licensesурезаны. Это частая история после ужесточения политик безопасности на сервере. - В клиент-серверном варианте клиентские лицензии ждут на сервере, а лежат на рабочем месте, или наоборот.
Как проверить права службы на каталог в Windows
Сначала узнайте, под какой учётной записью работает служба. Откройте services.msc, найдите службу агента сервера 1С:Предприятия и посмотрите вкладку «Вход в систему».
Затем проверьте права на каталог командой:
icacls "C:\ProgramData\1C\licenses"
В списке должна быть эта учётная запись или группа, в которую она входит, хотя бы с правом чтения. Если её нет, добавьте право чтения через свойства папки, вкладка «Безопасность». Если новые сеансы по-прежнему не получают лицензию, перезапустите службу. Делайте это вне рабочего времени: перезапуск оборвёт сеансы всех пользователей.
Для сервера 1С полезна команда консольного администрирования:
rac session list --licenses
Она показывает, какую лицензию взял каждый сеанс: программную или аппаратную, с какого компьютера, из какого файла. Если у части сеансов лицензия есть, а у новых нет — закончилось количество мест, а не пропал файл.
Перенос лицензий при смене сервера
Программную лицензию нельзя перенести копированием. Файл .lic с другого компьютера на новом сервере не заработает: лицензия привязана к параметрам того оборудования, на котором её получили.
Порядок переноса:
- Найдите конверт с пин-кодами комплекта. В нём основной и резервные пин-коды.
- Выясните, какие пин-коды уже использованы. Если учёта нет, его придётся восстановить по документам или через партнёра.
- Подготовьте регистрационные данные: организацию, ИНН, адрес. При активации их вводят так же, как при первой регистрации комплекта.
- Установите на новом сервере платформу той же разрядности, что нужна для работы.
- Активируйте лицензию на новом сервере свободным резервным пин-кодом. Выбирайте сохранение для всех пользователей.
- Проверьте запуск под учётной записью службы сервера 1С.
- Только после этого выводите старый сервер из работы.
Резервных пин-кодов в комплекте ограниченное количество. Каждая лишняя «пробная» активация на тестовой машине тратит одну попытку. Когда резервы кончатся, восстанавливать лицензию придётся через обращение в центр лицензирования фирмы 1С с документами о покупке.
С аппаратным ключом перенос проще. Переставьте ключ в новый сервер, установите драйвер и менеджер лицензий, обновите адрес в nethasp.ini на рабочих местах.
Частые ошибки администраторов с файлами лицензий
- ❌ Активировать лицензию на ноутбуке «для проверки». Пин-код израсходован, а лицензия привязана к ноутбуку.
- ❌ Чистить
ProgramDataцеликом при переустановке платформы. Вместе с кэшем уходят файлы лицензий. Удаляйте только то, что знаете. - ❌ Не хранить копии
.lic. После сбоя диска на том же сервере копия выручила бы без траты резервного пин-кода, если оборудование не менялось. - ❌ Клонировать сервер с лицензией. Клон на другом хосте лицензию не примет, а исходный сервер её сохранит. Выйдет путаница, но не экономия.
- ❌ Хранить пин-коды только в почте сотрудника. Он увольняется, и вместе с ним уходит история активаций.