При попытке развернуть технологическую платформу 1С:Предприятие версии 8.3.17 (и некоторых других версий из веток 8.3.15, 8.3.16) на сервере под управлением устаревшей операционной системы Windows Server 2003 SP2 администраторы часто сталкиваются с непреодолимым препятствием. Программа установки платформы наотрез отказывается запускаться, требуя наличия более свежей версии службы Windows Installer. Попытки скачать стандартные обновления KB942288 или KB893803 стандартными методами зачастую завершаются ошибками.
В этой статье мы подробно проанализируем причины этой проблемы, разберем по шагам, почему операционная система блокирует обновления, и рассмотрим два рабочих сценария решения проблемы: правильное обновление системных компонентов Windows Server 2003 и "портативный" запуск платформы в обход стандартного инсталлятора.
Для начала давайте разберемся, из-за чего возникает эта техническая коллизия. Начиная с версии 1С 8.3.15, разработчики фирмы «1С» изменили структуру дистрибутива платформы для операционных систем Windows. В целях оптимизации размера установщика из него был исключен встроенный пакет обновления службы Windows Installer 3.0.
Более того, начиная с версий 8.3.16 и 8.3.17, в платформе появилась функциональность «установки для пользователя» (без необходимости обладать правами локального администратора системы). Данная технология развертывания жестко завязана на системные вызовы службы Windows Installer версии 4.5. В Windows Server 2003 SP2 «из коробки» по умолчанию установлена более старая версия службы — Windows Installer 3.1. При попытке запустить инсталлятор 1С система проверяет версию службы, видит несоответствие требованиям и мгновенно прекращает установку с ошибкой совместимости.
Почему же не удается стандартным способом установить официальное обновление KB942288, которое как раз и должно обновить Windows Installer до версии 4.5? Здесь кроются две системные проблемы старой ОС:
WindowsXP-KB942288-v3-x86.exe). Для серверной ОС требуются специализированные дистрибутивы обновлений под кодовым именем WindowsServer2003.Ниже мы рассмотрим два практических метода решения этой проблемы.
Рассмотрим подробнее классический, наиболее надежный путь решения проблемы, который заключается в приведении системных компонентов старого сервера в соответствие с требованиями установщика 1С.
Разберем этот процесс по шагам:
WindowsServer2003-KB942288-v4-x86.exe. Для 64-битной версии — WindowsServer2003-KB942288-v4-x64.exe.KB942288. Благодаря ранее установленной поддержке SHA-2, система без проблем проверит подписи файлов и произведет обновление службы инсталлятора. После завершения процесса установки снова перезагрузите сервер.Что делать, если по каким-то причинам установить системные обновления на старый сервер невозможно (например, сервер критически важен, на нем крутятся другие старые службы, и любые масштабные обновления ОС несут риски сбоев)? В этом случае мы можем применить альтернативный метод запуска платформы без использования стандартной процедуры установки.
Проанализируем этот алгоритм совместных действий:
setup.exe.C:\Program Files\1cv8\ (для 64-битных версий) или C:\Program Files (x86)\1cv8\ (для 32-битных версий). 8.3.17.1851.bin, conf и другие) на флеш-накопитель или передайте по локальной сети на целевой сервер Windows Server 2003 SP2. Рекомендуем разместить скопированную папку по аналогичному пути или создать выделенный каталог, например, C:\1C_Platform\8.3.17.1851\.bin скопированного каталога, найдите исполняемый файл запуска стартера 1С 1cv8s.exe (или файл толстого/тонкого клиента 1cv8.exe), кликните по нему правой кнопкой мыши и отправьте ярлык на рабочий стол.cmd от имени администратора и выполните следующие команды:
cd /d "C:\1C_Platform\8.3.17.1851\bin"
regsvr32 comcntr.dll
Данный "ручной" способ позволяет полностью обойти ограничения установщика Windows Installer и успешно запускать клиентские сессии 1С версии 8.3.17 на Windows Server 2003 SP2.
Хотя "ручной" перенос файлов платформы решает сиюминутную задачу запуска программы, мы обязаны предупредить вас о ряде критических проблем стабильности, с которыми вы можете столкнуться при эксплуатации связки "1С 8.3.17 + Windows Server 2003".
Посмотрим на технические нюансы работы среды выполнения программного кода:
rphost или толстый клиент) могут беспричинно вызывать 100%-ю загрузку ядер процессора даже при выполнении простейших операций.unknown software exception (код ошибки обычно 0xc0000409) при попытке пользователя штатно закрыть окно программы 1С. Это связано с некорректным освобождением дескрипторов и ресурсов в устаревшей графической подсистеме Windows Server 2003. Напрямую на целостность данных базы это не влияет, но сильно раздражает пользователей и засоряет логи операционной системы.Подводя итоги, мы рекомендуем рассматривать любые методы запуска новых версий 1С:Предприятия на Windows Server 2003 исключительно как временную, пожарную меру. Данная операционная система давно снята с поддержки корпорацией Microsoft, она не получает обновлений безопасности и содержит множество известных уязвимостей.
Если бюджет вашей организации строго ограничен и покупка современных лицензий на Windows Server не представляется возможной, отличной альтернативой является постепенный перевод серверной части инфраструктуры 1С на операционные системы семейства Linux (например, бесплатные дистрибутивы на базе Debian/Ubuntu или отечественные сертифицированные ОС). Платформа 1С:Предприятие имеет отличную встроенную поддержку Linux-окружения как для серверной части (сервер приложений 1С + СУБД PostgreSQL), так и для клиентских рабочих мест.