Хвосты 1С:Предприятия в реестре Windows: что удалять, чем и в каком порядке
Содержание
Очистка реестра 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.Application | COM-классы | Нет, через 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. Записи в «Программах и компонентах»
- Нажмите
Win + R, введитеregedit. - Перейдите в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. - Найдите раздел с GUID из PowerShell. Справа у него параметр
DisplayNameс названием «1С:Предприятие 8» и номером версии. - Убедитесь, что папки
C:\Program Files\1cv8\<номер версии>нет. - Щёлкните раздел правой кнопкой → «Удалить».
- Повторите для
WOW6432Node, если там есть записи 32-битной платформы.
Шаг 4. Регистрация в Windows Installer
Именно эта запись даёт ошибку 1638. В HKEY_CLASSES_ROOT\Installer\Products разделы названы не GUID, а его перевёрнутой формой, поэтому искать надо по значению:
- Встаньте на
HKEY_CLASSES_ROOT\Installer\Products. Ctrl + F→ строка1С:Предприятиеили номер версии, например8.3.24, флажок «Значения».- Найденный раздел должен содержать
ProductNameс названием 1С. Удаляйте раздел целиком — тот, что непосредственно подProducts. 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С нужно убрать с машины совсем (передача компьютера, переустановка «с нуля»), реестр — только часть работы. Последовательность:
- Сохраните список баз: скопируйте
%APPDATA%\1C\1CEStart\ibases.v8i. - Сохраните программные лицензии: папку
C:\ProgramData\1C\licenses. Без копии лицензию придётся активировать заново и тратить попытку. - Удалите все версии платформы через «Программы и компоненты» или
msiexec /x. - Удалите службы 1С через
sc.exe delete, если это был сервер. - Почистите реестр по шагам 3–7.
- Удалите папки
C:\Program Files\1cv8,C:\Program Files (x86)\1cv8,%APPDATA%\1C,%LOCALAPPDATA%\1C. - Перезагрузите компьютер.
Каталоги файловых баз (папки с 1Cv8.1CD) удалением платформы не затрагиваются. Если база лежит в Мои документы или на рабочем столе — сначала решите, куда её перенести.
Чего не делать при очистке реестра 1С
- ❌ Удалять ветку
Installer\ProductsилиUninstallцеликом. Там записи всех программ компьютера. - ❌ Искать по «1C» латиницей и удалять всё найденное. Эта пара символов встречается в тысячах чужих GUID и путей.
- ❌ Чистить реестр, пока работает установщик или служба. Удаляйте после остановки и перезагрузки.
- ❌ Удалять запись в
Uninstall, когда версия на диске есть и используется. Потом её не удалить и не обновить штатно. - ❌ Удалять папку лицензий «вместе с хвостами». Это не реестр, и восстановить её можно только повторной активацией.
- ❌ Чистить реестр на сервере днём. Удаление службы обрывает сеансы, а перерегистрация
comcntr.dllломает работающие внешние подключения.
Как проверить, что реестр от 1С очищен
Проверка занимает пять минут:
- Повторите команду PowerShell из шага 2. В списке должны остаться только версии, которые реально есть в
C:\Program Files\1cv8. - Выполните
Get-Service | Where-Object { $_.DisplayName -match '1[CС]' }— удалённых служб в выводе нет. - Перезагрузите компьютер и запустите установку нужной версии платформы. Ошибки 1638 и 1603 не появляются.
- Если ставили сервер — служба агента создаётся и запускается, консоль показывает кластер.
- Если пользуетесь COM — проверьте подключение тем скриптом или обработкой, которая падала раньше.
Если установщик всё равно ругается, откройте его лог (msiexec /i ... /l*v) и ищите в нём GUID, который он считает установленным. Дальше — поиск этого GUID в regedit по всем разделам.
Частые вопросы
Можно ли очистить реестр 1С, не удаляя саму программу?
Слетит ли лицензия 1С после чистки реестра?
C:\ProgramData\1C\licenses, а не в реестре. Слетает она при удалении этой папки или замене оборудования.Пропадёт ли список баз после чистки реестра?
ibases.v8i в профиле пользователя. Реестр на него не влияет.