Как исправить исключение unknown software exception (0x40000015) при запуске 1С на Windows XP и Server 2003?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Рассмотрим весьма неприятную, но распространенную проблему, с которой сталкиваются системные администраторы при поддержке старых операционных систем. Если вы обновили платформу 1С:Предприятие до релиза 8.3.15 (например, 8.3.15.1830), то у пользователей, работающих на Windows XP или Windows Server 2003 R2, при запуске информационной базы может появляться системная ошибка: unknown software exception (0x40000015).

Проанализируем симптомы: сообщение появляется практически одновременно с окном ввода логина и пароля, причем на любых конфигурациях и базах. Интересной особенностью этой ошибки является то, что если закрыть окно с предупреждением, сама информационная база не вылетает и позволяет пользователю продолжить работу. Однако регулярное появление пугающего системного сообщения вызывает дискомфорт у пользователей. Давайте подробно разберем причины такого поведения и выясним, как можно решить эту проблему.

Техническая природа ошибки 0x40000015

Для начала разберем по шагам, что именно означает этот код. Код исключения 0x40000015 соответствует системному статусу STATUS_FATAL_APP_EXIT. Это стандартный механизм операционной системы Windows, который сигнализирует о том, что в приложении произошло неперехваченное исключение (runtime error).

В случае с платформой 1С 8.3.15 проблема кроется в программе-стартере 1CEStart.exe. Именно этот исполняемый файл запускается при клике по стандартному ярлыку 1С на рабочем столе. Стартер обращается к конфигурационному файлу 1CEStart.cfg для определения нужной версии платформы и проверки ключей. Начиная с 15-го релиза, разработчики обновили внутренний код стартера, и новые системные вызовы оказались частично несовместимы с устаревшими библиотеками среды выполнения Microsoft Visual C++ в Windows XP и Windows Server 2003. Из-за этого встроенная библиотека инициирует экстренное завершение процесса стартера, но сама клиентская часть (толстый или тонкий клиент) продолжает работу.

Решение 1: Прямой запуск платформы (обход 1CEStart.exe)

Посмотрим на самое простое и надежное временное решение. Служба технической поддержки 1С подтвердила наличие ошибки в стартере и рекомендовала запускать клиентские приложения напрямую.

Для платформы 8.3.15 на клиентах с Windows XP стабильно работает запуск через исполняемые файлы тонкого или толстого клиента, минуя программу запуска.

  1. Откройте свойства ярлыка 1С на рабочем столе проблемного компьютера.
  2. В поле "Объект" вместо пути к 1CEStart.exe пропишите прямой путь к исполняемому файлу тонкого клиента 1cv8c.exe или толстого клиента 1cv8.exe актуальной версии.
  3. Пример правильного пути: "C:\Program Files\1cv8\8.3.15.1830\bin\1cv8c.exe".
  4. Чтобы база открывалась сразу, передайте параметры подключения прямо в ярлыке (или создайте .bat файл).

Таким образом, мы полностью исключаем сбойный модуль 1CEStart.exe из цепочки загрузки, и ошибка больше не появляется.

Решение 2: Отключение диалогов системных ошибок через реестр Windows

Если пользователей много и перенастраивать ярлыки на каждом компьютере неудобно, проанализируем альтернативный путь — подавление вывода таких окон на уровне самой операционной системы. Windows позволяет блокировать показ диалогов (относящихся к NtRaiseHardError).

Чтобы скрыть всплывающее окно ошибки, выполним следующие шаги:

  1. Откройте редактор реестра (нажмите Win+R, введите regedit).
  2. Перейдите в ветку реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows.
  3. Найдите параметр с именем ErrorMode.
  4. Измените его значение на 2.

Вы можете создать REG-файл для быстрого применения на машинах пользователей. Содержимое файла должно быть следующим:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows]
"ErrorMode"=dword:00000002

Важное примечание: При значении 2 система перестает выводить на экран любые диалоговые окна с жесткими ошибками. Сообщения не будут мешать пользователю, но будут тихо записываться в системный журнал Windows (Event Viewer). Используйте этот метод с осторожностью.

Решение 3: Правильная установка с помощью специализированных MSI пакетов

Обратим внимание на сам процесс инсталляции платформы 1С на старые системы. В составе дистрибутивов 1С для Windows поставляются специальные установочные пакеты, адаптированные для Windows XP.

При развертывании платформы на Windows XP не используйте общий файл setup.exe. Ищите в папке дистрибутива файлы с постфиксом _xp, например:

Установка через эти MSI-пакеты гарантирует, что система использует корректные механизмы регистрации библиотек, предназначенные именно для устаревших версий ОС.

Решение 4: Очистка кэша стартера и обновление системных библиотек

Посмотрим, что еще может вызывать нестабильность стартера. Иногда сбой усугубляется поврежденными настройками в профиле пользователя. Рекомендуется:

  1. Полностью удалить кэш платформы и файлы настроек. Очистите папки 1C по путям Local Settings\Application Data\1C и Application Data\1C в профиле пользователя.
  2. Проверить содержимое конфигурационного файла 1CEStart.cfg на наличие мусорных записей.
  3. Обновить компоненты Microsoft Visual Studio (C++ Redistributable) до максимально свежей версии, которая поддерживается Windows XP / 2003 (обычно это пакеты 2015 года). Обновление этих библиотек часто решает падения, связанные с STATUS_FATAL_APP_EXIT.

Решение 5: Обновление платформы до исправленного релиза

Если возможности старых ОС для вас критичны, лучшим выходом будет обновление платформы. Разработчики 1С зарегистрировали данную ошибку и исправили её в последующих релизах. Практика показывает, что начиная с тестовых релизов 8.3.16.1148 и 8.3.17.1032 (а также в более поздних финальных сборках), механизм стартера работает корректно и описанного эффекта с исключением C++ больше не наблюдается.

Подведем итоги. Если вы столкнулись с ошибкой 0x40000015 на Windows XP, самым быстрым "боевым" решением является запуск 1cv8c.exe напрямую. Для постоянного решения задачи рекомендуется провести регламентное обновление платформы до актуального релиза ветки 8.3.16 или выше, предварительно удалив кэш и установив систему с помощью пакетов _xp.msi.

← На главную