Удаление старых релизов 1С с компьютера и сервера без потери баз

· 9 мин

Содержание

Диск C: заполнен, а в C:\Program Files\1cv8 лежит семь папок вида 8.3.22.1923, 8.3.24.1586. В профиле пользователя ещё и гигабайты распакованных обновлений. Удалить релиз 1С можно безопасно, если сначала понять, о каком именно «релизе» речь, и не трогать папки руками.

Под словом «релиз» на практике скрываются три разных объекта: установленная версия технологической платформы, шаблоны обновлений конфигурации (то, что скачал мастер обновления) и версия конфигурации внутри самой информационной базы. Первые два удаляются, третий не удаляется, а откатывается из резервной копии. Ниже — по порядку, от безопасного к радикальному.

Что именно вы собираетесь удалить

Прежде чем что-то стирать, определите объект. Ошибка на этом шаге — самая дорогая: конфигурацию базы «удалить» нельзя, а платформу, которую ещё использует база, удалять рано.

ОбъектГде лежитМожно ли удалитьЧем грозит
Версия платформыC:\Program Files\1cv8\<номер> (для 32-разрядной — Program Files (x86))Да, через установщикБазы, привязанные к этой версии, запустятся с другой или не запустятся
Шаблоны обновленийкаталог шаблонов в профиле пользователя (по умолчанию внутри %APPDATA%\1C\1Cv8\tmplts)Да, это копия дистрибутиваМастер скачает обновление заново
Релиз конфигурации в базевнутри самой базыНет, только откат из копииПотеря данных, введённых после обновления
Служба сервера 1С:Предприятияслужбы Windows или systemdДа, после остановкиОборвёт все сеансы

Если вы хотите просто освободить место, начните со второй строки: шаблоны обновлений занимают больше всего и не нужны никому, кроме вас, когда обновление уже установлено.

Почему нельзя просто стереть папку с версией

Каталог платформы — не вся установка. Вместе с файлами в систему попадают записи в реестре, ассоциации файлов .1CD, .cf, .dt, ярлыки, компоненты COM и, на сервере, службы. Если вы удалите папку проводником, всё это останется.

Последствия видны не сразу:

  • 🗂 в списке версий стартового окна остаётся запись, которой уже нет на диске;
  • 🔗 ассоциации файлов указывают на несуществующий 1cv8.exe;
  • ⚙️ служба сервера не стартует и пишет ошибку в журнал Windows, а перезапуск машины превращает её в вечно «упавшую»;
  • 📦 повторная установка той же версии конфликтует с остатками прежней.

Правильный путь один: удалить продукт штатным средством и только потом, если что-то осталось, прибраться руками.

Не удаляйте версию, пока не проверили, какие базы к ней привязаны. В списке баз стартового окна у каждой может быть указана своя версия платформы. Откройте свойства базы (кнопка «Изменить») и посмотрите поле выбора версии.

Способ 1. Удалить версию платформы через «Приложения» Windows

Самый простой и самый безопасный способ для рабочего места.

  1. Закройте все окна 1С, Конфигуратор и консоль администрирования. Проверьте диспетчер задач: не должно остаться процессов 1cv8.exe, 1cv8c.exe, 1cv8s.exe.
  2. Откройте «Параметры → Приложения → Установленные приложения» (в старых системах — «Программы и компоненты»).
  3. Введите в поиск «1С:Предприятие». В списке будут записи с номером версии, например «1С:Предприятие 8.3 (8.3.22.1923)».
  4. Выберите нужную запись и нажмите «Удалить». Подтвердите действие.
  5. Дождитесь окончания. После удаления проверьте, что папка с этим номером исчезла из Program Files\1cv8. Если пустая папка осталась, её можно удалить вручную.

Все остальные установленные версии остаются на месте: платформы 8.3 ставятся рядом друг с другом, и это нормально.

💡 Номер версии берите полностью, из четырёх чисел. Версии 8.3.22.1923 и 8.3.22.2008 — разные установки с разными записями.

Если запись не удаляется

Иногда деинсталляция падает с сообщением о ненайденном источнике установки. Тогда:

  • запустите установщик нужной версии (setup.exe из дистрибутива) — он предложит режим «Удаление»;
  • если дистрибутива нет, скачайте с портала поддержки тот же номер версии и запустите его;
  • крайний случай — штатная утилита Microsoft для устранения проблем установки и удаления программ.

Удаление через msiexec /x с кодом продукта тоже работает, но код продукта надо точно знать; при ошибке в коде вы можете снять не ту установку. Для разового случая проще мастер.

Способ 2. Очистить каталог шаблонов обновлений

Это то, что чаще всего и забивает диск. Когда вы обновляете конфигурацию через «Обновление программы» или скачиваете релиз с портала, мастер распаковывает дистрибутив в каталог шаблонов. Внутри — папки по имени конфигурации и по номеру релиза, а в них файлы поставки и обновления.

После установки релиза в базу эти файлы нужны только как архив. Удалять их можно.

Порядок действий:

  1. Узнайте, где ваш каталог. В стартовом окне нажмите «Настройка» и найдите параметр с каталогом шаблонов конфигураций и обновлений. Там указан путь, а иногда и несколько каталогов.
  2. Откройте этот каталог в проводнике. Папки назвали по вендору и конфигурации, внутри — подпапки с номерами релизов.
  3. Оставьте два последних релиза каждой конфигурации. Один пригодится, если обновление придётся повторить, второй — как предыдущая точка.
  4. Остальные подпапки с номерами удалите обычным способом, через корзину или Shift+Delete.

Полная очистка тоже допустима. Если вы удалили каталог целиком, ничего не сломается: при следующем обновлении мастер скачает файлы заново. Пострадает только скорость — релиз в 600–700 МБ тянется по интернету несколько минут.

Какие файлы реально удалять:

  • папки с номерами старых релизов;
  • временные распакованные папки, если мастер аварийно завершился;
  • ZIP-архивы обновлений, которые вы скачали вручную и уже применили.

А вот каталог 1cv8.cfu или 1cv8.cf внутри свежего релиза, который вы ещё не установили, не трогайте: без него обновление не запустится.

Сравнение: какой способ выбрать

Если сомневаетесь, ориентируйтесь на задачу, а не на привычку.

ЗадачаСпособРискВремя
Убрать старую платформу с рабочего места«Приложения» WindowsНизкий, если проверены привязки баз2–5 минут
Освободить место, не касаясь платформыЧистка каталога шаблоновМинимальный1–2 минуты
Снять лишнюю версию сервераОстановка службы, затем удаление продуктаСредний: обрыв сеансов10–20 минут
Отменить установленный релиз конфигурацииЗагрузка резервной копииВысокий: потеря новых данныхзависит от размера базы
Регулярная уборкаСкрипт по расписаниюНизкий при отладкенастраивается один раз

Как удалить старую версию на сервере 1С:Предприятия

На сервере всё осторожнее: здесь работают пользователи, а служба запускает кластер.

Перед остановкой службы сервера предупредите пользователей и дождитесь конца рабочего дня или окна обслуживания. Остановка завершит все сеансы, несохранённые данные пропадут.

Порядок для Windows:

  1. Откройте консоль администрирования кластера и убедитесь, что все базы работают на нужной вам версии сервера. Узнайте, под какой версией запущена служба: имя службы содержит номер, а в свойствах виден путь к ragent.exe.
  2. Если у вас стоят два сервера разных версий (например, для плавного перехода), убедитесь, что кластер для нужной версии уже запущен и порты не пересекаются.
  3. Остановите службу удаляемой версии через оснастку «Службы».
  4. Удалите службу штатно. Платформа умеет регистрировать и снимать службу командой самого агента: у ragent.exe есть ключи -instsrv и -remsrv. Точный набор параметров смотрите в справке к своей версии (ragent.exe -help), потому что от них зависят учётная запись и порты.
  5. Удалите продукт через «Приложения» так же, как на рабочем месте.

На Linux версию ставят и снимают пакетами. Службу сервера останавливайте командой управления юнитом, а пакеты снимайте менеджером пакетов своей системы. Список установленных пакетов 1С покажет запрос по имени 1c-enterprise.

⚠️ Не удаляйте каталог кластера (reg_1541 и подобные папки с данными кластера) вместе с версией. В нём хранится реестр кластера: список баз, пользователи кластера, настройки. Потеря такой папки без копии — это потеря всей конфигурации сервера.

Релиз конфигурации внутри базы: как отменить

Установленный релиз нельзя «снять», как программу. Обновление изменило структуру таблиц, а часть данных переписало. Единственный честный откат — восстановить базу до обновления.

Практический порядок:

  1. Остановите работу пользователей в базе.
  2. Найдите резервную копию, которая сделана непосредственно перед обновлением. Это выгрузка .dt из Конфигуратора или копия файла 1Cv8.1CD для файловой базы. Для серверной SQL-базы — резервная копия средствами СУБД.
  3. Разверните копию в новую базу, сверьте номер релиза и работоспособность.
  4. Только потом заменяйте рабочую базу.

Данные, введённые после обновления, в такую копию не попадут. Заранее решите, кто и как перенесёт их вручную.

💡 Если нужно просто вернуть прежний вид интерфейса или поведение, откат обычно избыточен. Сначала почитайте описание релиза и проверьте, нет ли переключателя в настройках.

Что делать, если резервной копии нет

Здесь удалить релиз уже нельзя. Выход один: исправить последствия обновления тем способом, который предлагает поставщик, и не делать «чистку» конфигурации наугад. Следующее обновление всегда начинайте с копии.

Облако и аренда: удалить версию нельзя, можно выбрать

В облачных сервисах и арендованных базах платформа и обновления принадлежат провайдеру. Вы ничего не устанавливаете и поэтому ничего не удаляете на своей стороне.

Что доступно пользователю:

  • ✅ выбрать версию платформы для клиентского приложения, если провайдер разрешает;
  • ✅ запросить у поддержки откат на определённую точку, если у провайдера настроены копии;
  • ✅ удалить локальные следы: каталог шаблонов на своём компьютере и старую версию тонкого клиента .

Что недоступно:

  • ❌ снять версию платформы на сервере провайдера;
  • ❌ заставить сервис не обновлять конфигурацию в свой срок.

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

Автоматизация: уборка по расписанию

Если на сервере терминалов десятки пользователей, у каждого в профиле копится свой каталог шаблонов. Чистить его вручную долго. Скрипт PowerShell, который удаляет папки релизов старше 90 дней:

$root = Join-Path $env:APPDATA '1C\1Cv8\tmplts'
$border = (Get-Date).AddDays(-90)

if (Test-Path $root) {
    Get-ChildItem -Path $root -Directory -Recurse -Depth 2 |
        Where-Object { $_.LastWriteTime -lt $border } |
        Remove-Item -Recurse -Force -WhatIf
}

Параметр -WhatIf стоит намеренно: скрипт только покажет, что удалил бы. Запустите его вручную, посмотрите список и лишь потом уберите -WhatIf.

Что учесть:

  • глубина поиска зависит от того, как у вас лежат папки; проверьте структуру на одном профиле;
  • путь к каталогу в вашей организации мог быть изменён в настройках, тогда подставьте свой;
  • не запускайте скрипт в момент, когда кто-то загружает обновление.

Запуск по расписанию — через планировщик заданий Windows: создайте задачу на раз в неделю и выберите запуск от имени пользователя, чей профиль чистите. Для всех профилей сразу скрипт запускают от учётной записи администратора и обходят каталог C:\Users.

Мини-чек-лист перед любой чисткой

Перед удалением релиза
Выполнено: 0 / 5

Типичные ошибки

Часть ошибок повторяется из раза в раз.

  • Удалили версию, на которую «смотрит» ярлык рабочей базы. Результат: «выбранная версия не найдена». Лечится выбором другой версии в свойствах базы.
  • Чистили каталог шаблонов, пока шло обновление. Мастер потерял файлы и остановился.
  • Остановили службу сервера в рабочее время. Пользователи увидели обрыв соединения.
  • Стёрли папку кластера вместе с версией и потеряли список баз.

Единственное правило, которое закрывает почти всё: сначала посмотрите, что использует объект, и только потом удаляйте.

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

Сколько версий платформы держать установленными?
Две: рабочую и предыдущую. Предыдущая нужна, чтобы быстро вернуться, если после перехода возникли проблемы с внешними обработками или обменами.
Сломаются ли базы, если удалить старую платформу?
Нет, если они запускаются на другой установленной версии. Базы хранят данные отдельно от платформы. Нужно лишь выбрать в свойствах базы доступную версию.
Можно ли удалить каталог шаблонов целиком?
Можно. Это копия дистрибутивов. Мастер обновления скачает нужное заново, потеряете только время.
Освободится ли место, если удалить релиз в базе?
Нет. Релиз конфигурации в базе не удаляется, а размер файла базы после обновления не уменьшится. Сжатие делается тестированием и исправлением или выгрузкой и загрузкой .dt.
Как понять, какая версия платформы сейчас используется?
В 1С откройте «Справка → О программе»: там указаны версия платформы и релиз конфигурации. Для серверной базы версию клиента и сервера смотрите в консоли кластера.