В практике системного администрирования и сопровождения программных продуктов 1С часто встречается неприятная ситуация: после очередного обновления операционной системы Windows (особенно версий 8, 8.1 или 10) программа внезапно «теряет» лицензию. При этом попытки запустить 1С от имени администратора не приносят результата — система продолжает выдавать сообщение о том, что для установки лицензии требуются права администратора, хотя пользователь ими обладает. Рассмотрим подробно, почему это происходит и как восстановить работоспособность системы.
Для начала разберем механизм работы программной защиты. Программная лицензия 1С жестко привязывается к ключевым параметрам компьютера: характеристикам материнской платы, процессора, сетевых адаптеров и версии BIOS. Для получения этой информации платформа 1С использует системную службу Windows — WMI (Windows Management Instrumentation).
Когда служба WMI повреждается или работает некорректно (что часто случается после масштабных обновлений Windows из-за пересборки репозитория системы), 1С не может получить доступ к уникальным идентификаторам «железа». Программа интерпретирует невозможность доступа к системным данным как отсутствие прав доступа. Именно поэтому запуск «От имени администратора» не помогает — проблема кроется не в полномочиях пользователя, а в работоспособности системного интерфейса, через который 1С «общается» с оборудованием.
Если мы столкнулись с ситуацией, когда конфигуратор не запускается, а при попытке активации лицензии система выдает ошибку прав, нам необходимо полностью переинициализировать компоненты WMI. Для этого воспользуемся проверенным скриптом, который выполнит перерегистрацию библиотек и восстановит базу данных репозитория.
Рассмотрим пошагово алгоритм действий:
DLL и MOF файлы.Ниже приведен полный текст скрипта, который необходимо выполнить для починки системы:
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%\system32\wbem
winmgmt /kill
winmgmt /unregserver
winmgmt /regserver
winmgmt /resyncperf
if exist Repos_bakup rd Repos_bakup /s /q
rename Repository Repos_bakup
regsvr32 /s %systemroot%\system32\scecli.dll
regsvr32 /s %systemroot%\system32\userenv.dll
for /f %%s in ('dir /b *.dll') do regsvr32 /s %%s
for /f %%s in ('dir /b *.mof') do mofcomp %%s
for /f %%s in ('dir /b *.mfl') do mofcomp %%s
sc config winmgmt start= auto
net start winmgmt
wmiprvse /regserver
Разберем подробнее, что делают основные команды этого сценария. Сначала мы принудительно отключаем службу winmgmt и завершаем все зависшие процессы с помощью ключа /kill. Затем мы переименовываем папку Repository — это заставляет Windows создать новую, чистую базу данных управляющих структур. Циклы for позволяют автоматически зарегистрировать в системе все необходимые компоненты в папке wbem, что восстанавливает связь между программами и оборудованием.
Прежде чем пробовать запустить 1С после выполнения скрипта, мы можем убедиться, что служба WMI приведена в чувство стандартными средствами Windows. Для этого выполним следующие действия:
Win + R и введем команду wmimgmt.msc.В процессе восстановления лицензии пользователи часто сталкиваются с еще одной преградой: программа требует 15-значный пин-код, хотя в коробке с «1С:Упрощенкой» или «1С:Бухгалтерией Базовой» находится 16-значный код. Разберем причину этого несоответствия.
Проблема возникает из-за того, что платформа 1С по умолчанию считает любую вновь созданную пустую базу — базой версии ПРОФ. Для версии ПРОФ стандарт лицензирования предусматривает 15 цифр (три блока по пять). Для Базовых версий окно ввода должно содержать только одну строку и принимать 16 цифр.
Чтобы программа «увидела» правильное поле для ввода 16-значного кода, необходимо соблюдать следующие правила:
cf файл базовой версии через режим Конфигуратор (если к нему есть доступ).Если после исправления WMI проблема сохраняется, проанализируем ситуацию с правами доступа к файловой системе. После обновлений Windows часто сбрасываются разрешения на скрытые системные папки. Файлы программных лицензий с расширением .lic обычно располагаются в следующих директориях:
C:\ProgramData\1C\licensesC:\Users\All Users\1C\licensesНеобходимо убедиться, что для группы пользователей «Все» (или хотя бы для конкретного текущего пользователя) на эти папки установлены полные права (Запись, Изменение). Если 1С не сможет перезаписать файл лицензии после изменения параметров системы, она будет бесконечно требовать права администратора при запуске.
Важный нюанс: Базовая версия 1С имеет всего 3 попытки активации. Если WMI был поврежден, а вы попытались восстановить лицензию, одна попытка может быть списана. Поэтому сначала восстанавливайте службу WMI, и только потом приступайте к вводу пин-кода.
Таким образом, системный подход к восстановлению службы WMI и проверка соответствия версии конфигурации типу пин-кода позволяют решить проблему с лицензированием 1С без переустановки операционной системы.