При работе с несколькими версиями платформы 1С:Предприятие на одном сервере (особенно на терминальных серверах) системные администраторы часто сталкиваются с ситуацией, когда программа запуска 1cestart.exe игнорирует настройки и пытается запустить самую свежую версию платформы вместо требуемой. Это приводит к возникновению ошибки "HTTP: Conflict", так как версия клиентского приложения не соответствует версии сервера 1С. Разберем подробно, почему это происходит и как настроить систему для корректной работы.
Рассмотрим стандартную ситуацию: на сервере установлена стабильная версия платформы 8.3.22.2239, и администратор устанавливает новую версию 8.3.25.1336 для тестирования или частичного перехода. После этого пользователи при запуске баз, жестко привязанных к старой версии, начинают получать ошибку конфликта протоколов.
Проанализируем ключевые наблюдения, которые помогают сузить круг поиска причины:
bin конкретной версии (например, C:\Program Files\1cv8\8.3.22.2239\bin\1cv8.exe), база открывается без ошибок.Version=8.3.22.2239 в файле списка баз не дает результата для обычного пользователя.Эти признаки указывают на то, что проблема кроется не в самой платформе, а в механизме работы программы запуска 1cestart.exe и ее взаимодействии с конфигурационными файлами и реестром Windows под ограниченными правами.
Когда мы запускаем 1cestart.exe, программа выполняет поиск подходящей версии по определенному алгоритму. Она проверяет:
ibases.v8i.1cestart.cfg.Если 1С не может найти версию, точно соответствующую запросу (например, из-за несовпадения разрядности или отсутствия прав на чтение папки), она по умолчанию пытается запустить самую старшую из доступных версий. В случае с версиями 8.3.25.x алгоритм стал более агрессивным, и зачастую он "не видит" старые версии, если они были установлены иначе, чем новая, или если сбились пути поиска.
Выясним основную причину, которая часто встречается при установке платформы через доменные политики или под разными учетными записями. Программа запуска ищет установленные компоненты по путям, прописанным в файле 1CEStart.cfg. Если путь к старой версии там отсутствует или недоступен для пользователя, лончер ее проигнорирует.
Выполним следующие шаги:
C:\ProgramData\1C\1CEStart.1cestart.cfg и откроем его с помощью текстового редактора от имени администратора.InstalledLocation.Пример правильного заполнения файла, если у вас установлены и 32-битные, и 64-битные версии:
InstalledLocation=C:\Program Files\1cv8
InstalledLocation=C:\Program Files (x86)\1cv8
DefaultVersion=8.3
UseNativeLauncher=1
Важно: Убедитесь, что у группы "Пользователи" есть права на чтение этого файла. Если файл 1cestart.cfg недоступен для чтения пользователю, 1cestart.exe будет использовать настройки по умолчанию, которые могут не включать путь к старой платформе.
Часто конфликт возникает из-за того, что новая платформа установлена только в 64-битном варианте, а старая — в 32-битном (или наоборот). Если в параметрах запуска базы не указана архитектура, лончер может решить, что старая версия "не подходит" под текущую архитектуру системы, и запустит новую.
Рассмотрим, как прописать это в общем файле списков баз (.v8i). Добавим параметр AppArch для проблемной базы:
[Имя Вашей Базы]
Connect=Srvr="server";Ref="base";
ID=...
OrderInList=1
Folder=/
OrderInTree=1
External=1
App=Auto
WA=1
Version=8.3.22.2239
AppArch=x86_64
Если нужно задать архитектуру глобально для всех запусков на сервере, можно добавить строку в 1cestart.cfg:
DefaultVersion=8.3;x86_64_prt
Это укажет системе отдавать приоритет 64-разрядным версиям платформы 8.3.
Проанализируем ситуацию, когда права администратора влияют на запуск. 1С хранит информацию об установленных версиях в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\1C\1Cv8 (для 64-битных) и HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\1C\1Cv8 (для 32-битных).
Если при установке новой версии 8.3.25 права на эти ветки были изменены, обычный пользователь может перестать "видеть" записи о предыдущих инсталляциях. Проверим следующее:
regedit и перейдите к указанным веткам.C:\Program Files\1cv8\. Пользователи должны иметь права "Чтение и выполнение" на папку каждой версии.В современных релизах 1С внедрила новый механизм запуска (Native Launcher). Иногда он работает некорректно в сложных терминальных средах. Мы можем попробовать переключить режим запуска в файле 1cestart.cfg, добавив или изменив строку:
UseNativeLauncher=0
Это заставит 1cestart.exe использовать классический алгоритм поиска исполняемых файлов, который более предсказуем при наличии жестко прописанных версий в ibases.v8i.
Подводя итог, можно сказать, что ошибка HTTP: Conflict при запуске через 1cestart.exe — это почти всегда следствие того, что лончер "потерял" путь к старой версии платформы или не имеет прав на чтение конфигурации.
Для стабильной работы терминального сервера рекомендуем:
C:\ProgramData\1C\1CEStart\1cestart.cfg после установки новых мажорных релизов.InstalledLocation для явного указания всех путей установки..v8i) на сетевых шарах, следить за тем, чтобы параметры Version и AppArch соответствовали реально установленным дистрибутивам на сервере.1cv8.exe нужной версии, минуя общий лончер.Помните, что корректная настройка среды запуска экономит время администратора и избавляет пользователей от внезапных ошибок при обновлении инфраструктуры.