Хвосты 1С:Предприятия в реестре Windows: что удалять, чем и в каком порядке

· 9 мин

Содержание

Очистка реестра 1С нужна в трёх случаях: установщик платформы не ставит или не удаляет версию, служба агента сервера «уже существует», COM-соединение не регистрируется. Порядок такой: экспорт веток в .reg → штатное удаление через msiexec /x {GUID} → ручное удаление оставшихся записей в Uninstall и Installer\Products → удаление службы через sc.exe delete → перерегистрация comcntr.dll.

Типичная ситуация: администратор ставит новую версию платформы на терминальный сервер , а установщик пишет Другая версия этого продукта уже установлена. Папки старой версии давно нет, в «Программах и компонентах» она висит. Это и есть мусор в реестре, и вычищать его надо точечно, а не программой «оптимизации».

Когда чистить реестр от 1С, а когда проблема вовсе не в нём

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

Симптомы, при которых реестр действительно виноват:

  • 🧩 установщик сообщает Другая версия этого продукта уже установлена. Установка этой версии невозможна (код MSI 1638);
  • 🧱 установка или удаление обрывается с ошибкой 1603, повтор не помогает;
  • 👻 в «Программах и компонентах» висят версии платформы, папок которых нет в C:\Program Files\1cv8;
  • ⚙️ при регистрации агента сервера Windows отвечает Указанная служба уже существует;
  • 🔌 внешнее подключение через V83.COMConnector падает с ошибкой Класс не зарегистрирован (0x80040154).

Где 1С хранит то, что часто путают с реестром:

ЧтоГде лежит на самом делеЧистка реестра поможет?
Список информационных баз%APPDATA%\1C\1CEStart\ibases.v8iНет
Пользовательский кэш%APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8Нет
Программные лицензииC:\ProgramData\1C\licenses (файлы .lic)Нет
Настройки кластера серверапапка srvinfo (по умолчанию в каталоге установки сервера)Нет
Записи об установленных версияхреестр, ветки Uninstall и InstallerДа
Службы агента сервера и RASреестр, ветка службДа
COM-соединение, оснастка консолиреестр, HKEY_CLASSES_ROOTДа

Если база тормозит, отчёт формируется криво или пропал список баз — реестр трогать бессмысленно. Это кэш, настройки пользователя или сама база.

Какие ветки реестра относятся к 1С и что из них можно удалять

Ниже — ветки, в которых остаются следы 1С:Предприятия 8.3. Для 64-битной платформы записи лежат в основном разделе, для 32-битной на 64-битной Windows — в WOW6432Node.

ВеткаЧто тамУдалять вручную?
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}Запись в «Программах и компонентах»Да, если версия уже удалена с диска
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}То же для 32-битной платформыДа, по тому же правилу
HKEY_CLASSES_ROOT\Installer\Products\<код>Регистрация продукта в Windows InstallerДа, только раздел с ProductName 1С
HKLM\SYSTEM\CurrentControlSet\Services\<имя службы>Службы агента сервера, RAS, сервера хранилищаНет, только через sc.exe delete
HKEY_CLASSES_ROOT\V83.COMConnector, V83.ApplicationCOM-классыНет, через regsvr32 /u
HKLM\SOFTWARE\1C, HKCU\Software\1C (если есть)Служебные параметрыМожно после полного удаления 1С
Службы и драйверы Sentinel (HASP)Драйвер аппаратного ключаНет, только утилитой драйвера

Раздел HKLM\SYSTEM\CurrentControlSet\Services руками не правят. Ошибка в нём ломает загрузку других служб, а иногда и самой Windows. Для служб есть sc.exe.

Расширения файлов .epf, .erf, .v8i в HKEY_CLASSES_ROOT удалять не нужно. При следующей установке платформа перепишет их сама.

Подготовка: резервная копия реестра и штатное удаление

Чистку реестра начинают не с редактора, а с двух страховок и попытки удалить 1С по-честному.

Шаг 1. Сохраните ветки в файлы

Запустите командную строку от имени администратора и выгрузите ветки, которые будете трогать:

mkdir C:\RegBackup
reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" C:\RegBackup\uninstall.reg /y
reg export "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall" C:\RegBackup\uninstall32.reg /y
reg export "HKCR\Installer\Products" C:\RegBackup\installer.reg /y

Откат — двойной щелчок по .reg или reg import C:\RegBackup\uninstall.reg.

На рабочей станции дополнительно создайте точку восстановления: Панель управления → Восстановление → Настройка восстановления системы. На сервере вместо неё — снимок виртуальной машины или резервная копия системного диска.

Без резервной копии в реестре ничего не удаляйте. Отменить удаление ключа в regedit нельзя.

Шаг 2. Найдите GUID версии и удалите её штатно

Откройте PowerShell от имени администратора и выведите все записи 1С из обеих веток Uninstall (шаблон 1[CС] ловит и латинскую, и кириллическую «С» в названии):

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*,
                 HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
  Where-Object { $_.DisplayName -match '1[CС]' } |
  Select-Object DisplayName, DisplayVersion, PSChildName

В колонке PSChildName — GUID в фигурных скобках. Попробуйте удалить версию через Windows Installer:

msiexec /x {GUID-из-списка} /l*v C:\RegBackup\uninstall-1c.log

Если удаление прошло, лезть в реестр не нужно. Если msiexec ругается на отсутствующий файл .msi или падает с 1603, откройте лог и ищите строку Return value 3 — выше неё будет причина. Тогда переходите к ручной чистке.

Ручная очистка реестра 1С: пошагово

Действуйте строго по одной версии. Нашли запись — сверили номер с папкой на диске — удалили — проверили.

Шаг 3. Записи в «Программах и компонентах»

  1. Нажмите Win + R, введите regedit.
  2. Перейдите в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall.
  3. Найдите раздел с GUID из PowerShell. Справа у него параметр DisplayName с названием «1С:Предприятие 8» и номером версии.
  4. Убедитесь, что папки C:\Program Files\1cv8\<номер версии> нет.
  5. Щёлкните раздел правой кнопкой → «Удалить».
  6. Повторите для WOW6432Node, если там есть записи 32-битной платформы.

Шаг 4. Регистрация в Windows Installer

Именно эта запись даёт ошибку 1638. В HKEY_CLASSES_ROOT\Installer\Products разделы названы не GUID, а его перевёрнутой формой, поэтому искать надо по значению:

  1. Встаньте на HKEY_CLASSES_ROOT\Installer\Products.
  2. Ctrl + F → строка 1С:Предприятие или номер версии, например 8.3.24, флажок «Значения».
  3. Найденный раздел должен содержать ProductName с названием 1С. Удаляйте раздел целиком — тот, что непосредственно под Products.
  4. F3 — следующее совпадение. Не удаляйте всё подряд: номер версии может встретиться в чужих программах.

Microsoft выпускала средство устранения неполадок «Program Install and Uninstall» — оно удаляет битые регистрации MSI по выбору из списка. Удобно, если записей много и руками искать не хочется.

Шаг 5. Служба агента сервера

Ошибка Указанная служба уже существует значит, что после удаления сервера 1С осталась его служба. Найдите точное имя:

Get-Service | Where-Object { $_.DisplayName -match '1[CС]' } | Format-Table Name, DisplayName, Status

Остановите и удалите службу:

sc.exe stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc.exe delete "1C:Enterprise 8.3 Server Agent (x86-64)"

Подставьте имя из колонки Name. В PowerShell пишите именно sc.exe: просто sc там — это команда Set-Content, и она молча создаст файл вместо удаления службы.

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

Шаг 6. COM-соединение и оснастка консоли

COM-классы не чистят в regedit — их снимают с регистрации той же библиотекой, которая их зарегистрировала:

regsvr32 /u "C:\Program Files\1cv8\8.3.24.1548\bin\comcntr.dll"
regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\comcntr.dll"

Первая строка снимает старую версию, вторая регистрирует нужную. Номера версий замените на свои. Если старой папки уже нет, просто зарегистрируйте новую — запись перепишется.

Для консоли администрирования серверов то же самое делают с radmin.dll из каталога bin той же версии. Это лечит пустую консоль после обновления платформы.

Шаг 7. Служебные ветки 1С

Если 1С удаляется с компьютера полностью, проверьте HKEY_LOCAL_MACHINE\SOFTWARE\1C и HKEY_CURRENT_USER\Software\1C. Если ветки есть — экспортируйте и удалите. Если 1С остаётся, их не трогайте.

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

Программы для очистки реестра от 1С: что они умеют

Готовые утилиты ускоряют работу, но не заменяют понимания, что именно удаляется.

ИнструментКогда полезенРиски
msiexec /xПервая попытка для любой версииНет, если есть кэш установщика
Средство Microsoft «Program Install and Uninstall»Битые регистрации MSI, ошибка 1638Минимальные, удаляет только выбранный продукт
Revo Uninstaller и аналогиУдаление с последующим поиском остатковПредлагает удалить общие ключи — снимайте лишние флажки
CCleaner и «чистильщики реестра»Практически бесполезны для 1СУдаляют «ошибочные» ключи пачкой без разбора
Утилита драйвера Sentinel (haspdinst.exe)Полное удаление драйвера HASPКлючи других программ на Sentinel перестанут работать

«Оптимизаторы» реестра не знают про ошибку 1638 и службы 1С. Они находят «пустые» ключи и «неверные пути» и удаляют их, а потом не запускаются другие программы.

Драйвер аппаратного ключа удаляют командой haspdinst.exe -purge из комплекта драйвера Sentinel. Если на этом же компьютере работают другие программы с ключами Sentinel, драйвер не трогайте.

Полное удаление 1С с компьютера: реестр плюс файлы

Когда 1С нужно убрать с машины совсем (передача компьютера, переустановка «с нуля»), реестр — только часть работы. Последовательность:

  1. Сохраните список баз: скопируйте %APPDATA%\1C\1CEStart\ibases.v8i.
  2. Сохраните программные лицензии: папку C:\ProgramData\1C\licenses. Без копии лицензию придётся активировать заново и тратить попытку.
  3. Удалите все версии платформы через «Программы и компоненты» или msiexec /x.
  4. Удалите службы 1С через sc.exe delete, если это был сервер.
  5. Почистите реестр по шагам 3–7.
  6. Удалите папки C:\Program Files\1cv8, C:\Program Files (x86)\1cv8, %APPDATA%\1C, %LOCALAPPDATA%\1C.
  7. Перезагрузите компьютер.

Каталоги файловых баз (папки с 1Cv8.1CD) удалением платформы не затрагиваются. Если база лежит в Мои документы или на рабочем столе — сначала решите, куда её перенести.

Чего не делать при очистке реестра 1С

  • ❌ Удалять ветку Installer\Products или Uninstall целиком. Там записи всех программ компьютера.
  • ❌ Искать по «1C» латиницей и удалять всё найденное. Эта пара символов встречается в тысячах чужих GUID и путей.
  • ❌ Чистить реестр, пока работает установщик или служба. Удаляйте после остановки и перезагрузки.
  • ❌ Удалять запись в Uninstall, когда версия на диске есть и используется. Потом её не удалить и не обновить штатно.
  • ❌ Удалять папку лицензий «вместе с хвостами». Это не реестр, и восстановить её можно только повторной активацией.
  • ❌ Чистить реестр на сервере днём. Удаление службы обрывает сеансы, а перерегистрация comcntr.dll ломает работающие внешние подключения.

Как проверить, что реестр от 1С очищен

Проверка занимает пять минут:

  1. Повторите команду PowerShell из шага 2. В списке должны остаться только версии, которые реально есть в C:\Program Files\1cv8.
  2. Выполните Get-Service | Where-Object { $_.DisplayName -match '1[CС]' } — удалённых служб в выводе нет.
  3. Перезагрузите компьютер и запустите установку нужной версии платформы. Ошибки 1638 и 1603 не появляются.
  4. Если ставили сервер — служба агента создаётся и запускается, консоль показывает кластер.
  5. Если пользуетесь COM — проверьте подключение тем скриптом или обработкой, которая падала раньше.
Проверка после чистки реестра
Выполнено: 0 / 6

Если установщик всё равно ругается, откройте его лог (msiexec /i ... /l*v) и ищите в нём GUID, который он считает установленным. Дальше — поиск этого GUID в regedit по всем разделам.

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

Можно ли очистить реестр 1С, не удаляя саму программу?
Да. Удаляются только записи о версиях, которых уже нет на диске. Рабочая версия платформы и её записи остаются на месте.
Слетит ли лицензия 1С после чистки реестра?
Нет. Программная лицензия хранится в файлах в C:\ProgramData\1C\licenses, а не в реестре. Слетает она при удалении этой папки или замене оборудования.
Пропадёт ли список баз после чистки реестра?
Нет. Список баз хранится в файле ibases.v8i в профиле пользователя. Реестр на него не влияет.
Нужно ли чистить реестр перед обновлением платформы 1С?
Нет. Новая версия ставится рядом со старой без конфликтов. Чистка нужна, только если установщик выдаёт ошибку.
Почему после чистки реестра 1С не открывает обработки .epf двойным щелчком?
Удалены ассоциации расширений. Переустановите или восстановите текущую версию платформы через «Программы и компоненты» — связи файлов создадутся заново.