В практике системного администрирования 1С часто возникают ситуации, когда стандартная установка платформы через инсталлятор невозможна или нецелесообразна. Это может быть связано со строгими политиками безопасности, отсутствием прав администратора у пользователей или необходимостью быстрого обновления сотен рабочих мест в распределенной сети. Рассмотрим, как реализовать «портативный» запуск 1С путем простого копирования папки bin, с какими трудностями можно столкнуться и как их эффективно преодолеть.
Разберем базовый механизм: для работы платформы 1С:Предприятие (особенно тонкого и толстого клиента) в большинстве случаев достаточно наличия содержимого каталога bin установленной платформы. Рассмотрим алгоритм подготовки такого решения:
bin из каталога установленной версии (например, C:\Program Files\1cv8\8.3.XX.XXXX\bin) в сетевую папку или на внешний носитель.1cv8c.exe (тонкий клиент) или 1cv8.exe (толстый клиент).bin, но и всех вышестоящих каталогов по сетевому пути.Важный нюанс: основной проблемой при таком запуске часто становится регистрация COM-соединения. Если ваша конфигурация активно использует COMConnector для обмена данными, помните, что без полноценной регистрации библиотек в реестре Windows этот функционал работать не будет. Однако для обычной работы пользователей в интерфейсе этот метод полностью жизнеспособен.
Проанализируем ситуацию, когда 1С с локального диска запускается за 2 секунды, а из сетевого каталога — за 12-20 секунд. Выясним причину такого поведения операционной системы. При локальном запуске Windows использует механизм проецирования файлов в память (Memory-Mapped Files). Система открывает исполняемые файлы и библиотеки DLL в режиме только чтения, создавая своего рода «страничный файл» на основе самого файла. Данные подгружаются в физическую память только по мере обращения к конкретным страницам кода.
Посмотрим, что происходит при запуске через сеть (протокол SMB):
DLL.Рассмотрим несколько решений, которые помогут сократить время ожидания пользователей:
1. Настройка SMB Signing и OpLocks. На стороне Windows Server часто включено обязательное подписывание пакетов (SMB Signing). Это создает огромные накладные расходы при передаче множества мелких фрагментов файлов. Попробуем отключить подписывание для внутренних защищенных сегментов сети (после согласования с ИБ), что может ускорить запуск в 2-3 раза.
2. Использование VHD/VHDX контейнеров. Это один из самых эффективных методов. Вместо хранения тысяч файлов платформы в сетевой папке, мы помещаем их внутрь виртуального диска (VHD). Пользователь монтирует этот файл как локальный диск по сети. В этом случае ОС воспринимает чтение как работу с блочным устройством, что позволяет системе гораздо агрессивнее кэшировать данные и использовать стандартные механизмы работы с исполняемым кодом.
3. Использование Тонкого клиента. Проанализируем состав дистрибутива. Полноценная платформа содержит сотни мегабайт библиотек. Тонкий клиент значительно компактнее (около 50-60 МБ). Чем меньше файлов и их объем, тем быстрее пройдет первичная инициализация по сети.
Чтобы портативная версия работала корректно и не конфликтовала с другими версиями, необходимо правильно настроить конфигурационные файлы. Рассмотрим возможности файла conf.cfg, который должен располагаться в подкаталоге conf внутри вашей папки bin.
Мы можем переопределить пути к настройкам, чтобы 1С не «мусорила» в профиле пользователя и работала автономно. Пример содержания файла conf.cfg:
SystemConfigRoot=./conf
UserConfigRoot=./user_settings
HardwareAcceleration=0
Параметр HardwareAcceleration=0 (отключение аппаратного ускорения) крайне полезен при запуске 1С в терминальных сессиях или через нестандартные драйверы, так как это часто убирает «фризы» интерфейса.
Выясним, почему на некоторых компьютерах «портативка» не стартует вовсе. Платформа 1С версии 8.3 жестко зависит от библиотек Microsoft Visual C++ Redistributable. В новых версиях (8.3.20+) требуются актуальные версии этих компонентов. Если вы не можете установить их в систему, попробуйте скопировать файлы msvcp140.dll, vcruntime140.dll и другие зависимые библиотеки прямо в папку bin рядом с 1cv8.exe. Система в первую очередь ищет библиотеки в локальном каталоге приложения.
Если ваша задача — навести порядок в обновлении без использования штатных механизмов, рассмотрим вариант с использованием планировщика задач (Task Scheduler). Можно создать скрипт, который будет проверять наличие новой версии в сетевом каталоге и копировать её в локальную папку пользователя (например, в %LOCALAPPDATA%), где права администратора не требуются для записи.
Пример логики проверочного скрипта (псевдокод):
// Сравнение версии в сетевом каталоге и локальной папке
Если ВерсияНаСервере > ЛокальнаяВерсия Тогда
// Копирование новых файлов из сетевого источника
КопироватьФайлы("\\server\1c_distr\8.3.22", "%LOCALAPPDATA%\1cv8\bin");
КонецЕсли;
// Запуск платформы из локальной папки (это будет быстро)
ЗапуститьПриложение("%LOCALAPPDATA%\1cv8\bin\1cv8c.exe");
Такой подход объединяет преимущества портативности (не нужна установка) и скорость работы (запуск идет с локального диска), при этом обходя ограничения безопасности на установку софта в Program Files.
Не забудем про важный аспект — защиту. Программные лицензии 1С привязываются к параметрам конкретного ПК. При запуске скопированной папки bin на новом компьютере платформа потребует лицензию. В портативном сценарии лучше всего работают:
HASP License Manager или сервер 1С настроен на выдачу лицензий, портативный клиент успешно получит лицензию по сети.Подводя итог, можно сказать, что работа 1С в режиме portable не только возможна, но и является мощным инструментом в руках системного администратора при правильной настройке сетевых протоколов и использовании конфигурационных файлов для изоляции среды выполнения.