Переход с нелицензионного использования 1С:Предприятие на официальную версию часто сопровождается ошибками целостности данных. Начиная с версии 8.3.12, механизмы защиты платформы стали значительно строже: программа анализирует наличие драйверов виртуальных USB-шин, модифицированные библиотеки и записи в реестре. Простое удаление старой платформы через панель управления не решает проблему, так как компоненты эмуляторов остаются глубоко в системе. Разберем по шагам, как произвести полную «генеральную уборку» вашего сервера или рабочего места.
Большинство эмуляторов (такие как MultiKey или VUSBBus) работают на уровне ядра системы, создавая виртуальное устройство. Проанализируем состояние диспетчера устройств и выполним очистку.
Virtual Usb Bus Enumerator.Проверим наличие специфических системных файлов в папке C:\Windows\System32\drivers\. Нам необходимо убедиться в отсутствии следующих файлов:
vusbbus.sysmultikey.sysmkey.syshaspflt.sysunidrv.sysДаже если файлы удалены, в системе могут остаться зарегистрированные службы, которые 1С обнаруживает при запуске. Рассмотрим, как их вычистить с помощью консоли (запущенной от имени администратора):
Для начала проверим наличие службы командой:
sc query vusbbus
Если служба найдена, выполним последовательность команд для её полной остановки и удаления:
sc stop vusbbus
sc delete vusbbus
Аналогичные действия следует выполнить для драйвера haspflt, который часто используется в старых «лечилках»:
loaddrv.exe -stop haspflt
loaddrv.exe -remove haspflt
del %systemroot%\system32\drivers\haspflt.sys
Современные версии Windows (начиная с Windows 7) хранят копии всех когда-либо установленных драйверов в специальной папке DriverStore. Если не удалить драйвер оттуда, Windows будет автоматически переустанавливать эмулятор при каждой перезагрузке. Воспользуемся утилитой pnputil.
Проанализируем список сторонних драйверов:
pnputil -e
Внимательно изучим вывод. Ищем драйверы, в описании которых фигурирует «Virtual USB» или «Aladdin». Они будут иметь имя вида oemXX.inf (где XX — число). Удалим подозрительный драйвер командой:
pnputil -d oemXX.inf
Следы эмуляторов часто скрываются в ветках служб и настроек совместимости. Рассмотрим ключевые узлы, которые подлежат проверке и очистке. Откройте regedit и проверьте следующие пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vusbbusHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EmulatorHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspfltNEWHASP. Несмотря на мнение, что они не всегда влияют на вылет, их лучше удалить для чистоты эксперимента:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASPHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\. Если вы видите там папки 1cv8.exe или 1cv8c.exe, внутри которых есть параметр VerifierDlls, немедленно удалите эти разделы. Это механизм принудительной загрузки сторонних библиотек (патчей) в процесс 1С.Часто «лечение» заключается в патчинге библиотеки backbas.dll. Самый надежный способ вернуть всё в исходное состояние — это полное удаление всех установленных версий платформы через «Программы и компоненты» и последующая установка с официального дистрибутива, полученного с портала ИТС.
Если вы столкнулись с файлом 1c_update.exe в папках пользователя или в автозагрузке — это признак «автопатчера». Его нужно удалить, а также проверить Планировщик задач Windows на наличие заданий, связанных с обновлением или проверкой лицензий 1С.
Иногда информация о ранее использованных ключах кэшируется внутри самой информационной базы (в таблице системных настроек). Для клиент-серверного варианта на MS SQL Server можно выполнить запрос для очистки этого списка. Выясним, как это сделать:
USE [Имя_Вашей_Базы]
GO
UPDATE Files
SET BinaryData = ''
WHERE FileName = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl'
Этот запрос обнуляет данные о программных лицензиях и ключах, хранящиеся внутри БД, заставляя платформу искать их заново в системе.
Для завершения процесса очистки рекомендуется выполнить еще два действия:
%AppData%\1C\1cv8\ и %LocalAppData%\1C\1cv8\ и удалите все файлы с расширением .pfl. В них могут храниться привязки к старым лицензиям.После выполнения всех описанных шагов перезагрузите компьютер и установите лицензионную платформу. Если система всё равно сообщает о нарушении целостности, проверьте, не включен ли у вас тестовый режим Windows (надпись в правом нижнем углу рабочего стола). Если он включен, выключите его командой bcdedit -set TESTSIGNING OFF и снова перезагрузитесь.