Почему 1С 7.7 аварийно завершает работу с ошибкой в Frame.dll при входе по RDP и как это исправить?

Системный администратор 1С v7.7 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При развертывании платформы 1С:Предприятие 7.7 на сервере терминалов под управлением Windows Server 2008 или более поздних версий администраторы часто сталкиваются с падением приложения сразу после выбора пользователя и попытки открытия базы данных. В журнале событий Windows фиксируется событие APPCRASH исполняемого файла 1cv7s.exe (или 1cv7.exe), модуль с ошибкой — Frame.dll, а код исключения — c0000005 (Access Violation).

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

Анализ причин ошибки Frame.dll и кода c0000005

Библиотека Frame.dll является ключевым компонентом графической оболочки платформы 1С 7.7. Она отвечает за создание главного окна программы (MDI-контейнера), построение меню, командных панелей и восстановление сохраненного расположения окон пользователя. Код ошибки c0000005 указывает на нарушение прав доступа к памяти (попытка чтения или записи по недопустимому адресу).

В операционных системах линейки Windows Server 2008 и выше механизмы разграничения прав пользователей и безопасность файловой системы значительно строже, чем в Windows 2000/2003, под которые изначально разрабатывалась платформа 7.7. Когда непривилегированный пользователь подключается по RDP, 1С пытается инициализировать файлы конфигурации интерфейса, временные таблицы и блокировочные файлы. Если у учетной записи Windows нет полного доступа к нужным ресурсам, платформа аварийно закрывается.

Основное решение: Настройка прав доступа к каталогу информационной базы

Главная и наиболее распространенная причина сбоя — отсутствие у пользователя терминала достаточных разрешений на файловую систему в каталоге с базой данных.

Выполним пошаговую настройку разрешений:

  1. Откроем проводник на сервере и перейдем к папке, в которой размещена информационная база 1С 7.7.
  2. Нажмем правой кнопкой мыши на папку с базой и выберем пункт «Свойства», затем перейдем на вкладку «Безопасность».
  3. Нажмем кнопку «Изменить» и добавим группу пользователей, подключающихся по терминалу (например, локальную группу Пользователи удаленного рабочего стола / Remote Desktop Users или специальную доменную группу пользователей 1С).
  4. Установим для добавленной группы флаг «Полный доступ» (или как минимум разрешения «Модификация» / «Modify», «Чтение и выполнение», «Запись», «Удаление»).
  5. Нажмем «Применить» и убедимся, что права применились ко всем вложенным подпапкам и файлам (*.dbf, *.cdx, *.md).

Платформе 1С 7.7 для файловых баз обязательно требуется возможность создавать, изменять и удалять служебные файлы (такие как 1Cv7.LCK, 1cv7.lck, файлы блокировок транзакций и временные индексы), поэтому неполных прав на чтение недостаточно для корректного старта.

Проверка каталогов пользователей 1С

Проанализируем структуру каталогов внутри информационной базы. Для каждого пользователя, заведенного в Конфигураторе, платформа создает рабочий каталог (по умолчанию папка с именем пользователя в каталоге \usrdef\ или корне базы).

В этом каталоге формируется файл 1Cv7.CFG, в который библиотека Frame.dll сохраняет состояние панелей инструментов и положение окон. Если физический каталог пользователя отсутствует или заблокирован для записи учетной записью Windows:

  1. Зайдем в Конфигуратор под администратором базы.
  2. Перейдем в меню «Администрирование» — «Пользователи».
  3. Откроем свойства каждого пользователя и проверим поле «Рабочий каталог».
  4. Убедимся, что указанная папка реально создана на диске и права на запись в нее открыты для терминального пользователя.

Дополнительные системные настройки для Windows Server 2008

Если настройка прав на каталог базы не решила проблему полностью, рассмотрим сопутствующие системные факторы, влияющие на стабильность 1С 7.7 в RDP:

  1. Предотвращение выполнения данных (DEP): Добавим исполняемые файлы 1cv7s.exe и 1cv7.exe в список исключений Data Execution Prevention. Для этого откроем «Свойства системы» — «Дополнительно» — «Быстродействие (Параметры)» — «Предотвращение выполнения данных», выберем режим включения DEP для всех программ, кроме выбранных, и укажем путь к исполняемым файлам в папке BIN.
  2. Права на системный каталог TEMP: Убедимся, что переменные среды TEMP и TMP терминального пользователя указывают на существующую локальную папку, к которой у пользователя есть неограниченный доступ на чтение и запись.
  3. Права на реестр: Платформа 7.7 при первом запуске может обращаться к веткам реестра HKEY_LOCAL_MACHINE\Software\1C (или HKEY_LOCAL_MACHINE\Software\Wow6432Node\1C на x64-системах). Предоставим пользователям права на чтение и запись для этого раздела.
  4. Режим совместимости: В свойствах файла 1cv7s.exe во вкладке «Совместимость» установим запуск в режиме совместимости с «Windows XP (Пакет обновления 3)» и отметим опцию запуска от имени администратора при первичной инициализации платформы.
  5. Проверка порядка сортировки: Если при входе появляется предупреждение о кодовой странице или порядке сортировки, поместим в каталог базы или в каталог BIN платформы пустой файл с именем OrdNoChk.prm.

Комплексное применение указанных настроек устраняет ошибки инициализации интерфейса и обеспечивает стабильную многопользовательскую работу 1С 7.7 в терминальной среде.

← На главную