Формат RED-файла проекта

Содержание

  1. Секция "ASB Client" (только в клиентском RED-файле)
  2. Секция "ASB Server" (только в серверном RED-файле)
  3. Макроподстановки
  4. Секция "ASB Special Folders"
  5. Секция "Redirection"
  6. Секция "Schannel Options" (только в клиентском RED-файле)
  7. Секция "ASL Options" (только в клиентском RED-файле)
  8. Секция "Common Options" (только в клиентском RED-файле)
  9. Секция "Printing Options" (только в клиентском RED-файле)
  10. Секция "Console Options" (только в клиентском RED-файле)

RED-файл проекта хранится в формате INI-файла. INI-файл делится на секции, секция  - это блок строк текста от одного наименования секции до другого. Наименования секции заключаются в квадратные скобки. Если первый значимый символ строки - точка с запятой, такая строка считается комментарием. Как правило (не всегда!) строка INI-файла выглядит так: параметр=значение.

В RED-файле проекта для значений параметров принята OEM 866-кодировка, в именах секций и параметров кириллица не используется, имена секций и параметров понимаются регистронезависимо.

Далее подробно описаны секции и параметры RED-файла проекта.

Секция "ASB Client" (только в клиентском RED-файле)

Имя значимого параметра Область значений Значение по умолчанию Описание
Host IP-адрес или имя хоста Отсутствует IP-адрес или имя хоста сервера
AsbpPort 0..65535 5301 Asbp-порт сервера
AsbpsPort 0..65535 5401 Asbps-порт сервера
AsbpSchannel Yes/No No Использовать ли защищенный канал для обмена с сервером
AsbpsServerPrincipalName Имя сервера Совпадает со значением параметра Host Ожидаемое имя сервера в серверном сертификате. Параметр предназначен для отладки ASB-приложений, у клиентов использоваться не должен
HttpPort 0..65535 5380 Http-порт сервера; используется только сетевым инсталлятором АвтоПарка
HttpsPort 0..65535 5480 Https-порт сервера; используется только сетевым инсталлятором АвтоПарка
HttpSchannel Yes/No No Использовать ли защищенный канал для обмена с сервером; используется только сетевым инсталлятором АвтоПарка
SimulateBase64DecodeOutLenBug Yes/No No В процессе аутентификации имитировать ошибку, имевшую место в процедуре декодирования Base64 до версии 14.21.1. Параметр предназначен для отладки ASB-приложений, у клиентов использоваться не должен
LocationAtServer   "" Относительный (от корневой папки сервера ASBRoot) путь, в котором находится серверная часть проекта, точнее - серверный RED-файл. Физическое расположение корневой папки ASBRoot определяется в файле настроек сервера asbsrv.ini
ProjectRoot   "." Корневая папка клиентской части проекта, от которой следует интерпретировать все относительные пути в данном RED-файле. Если параметр не указан, относительные пути интерпретируются от папки местоположения RED-файла. Параметр предназначен для отладки ASB-приложений, в рабочих копиях проектов как правило не используется

Секция "ASB Server" (только в серверном RED-файле)

Имя значимого параметра Область значений Значение по умолчанию Комментарий
ProjectRoot   "." Корневая папка серверной части проекта, относительно которой следует интерпретировать все относительные пути в данном RED-файле. Параметр предназначен для отладки ASB-приложений.
CommitData Yes/No Yes Нужно ли сбрасывать кэш-буфера операций записи немедленно на диск. Установка значения No увеличивает скорость операций модификации, но при сбое операционной системы на сервере (например, при некорректном выключении питания) часть данных может быть потеряна.

Макроподстановки

При определении значений параметров в обсуждаемых ниже секциях "ASB Special Folders" и "Redirection" разрешается использовать макроподстановки. Формальное имя макроподстановки заключается в специальные скобки: $(ФормальноеИмяМакроподстановки)

SomeParam = $(MyMacro)\ABC

В ходе разбора параметров секции макроподстановка будет заменена на фактическое значение. Если макроподстановка представляет собой папку, при разборе будут автоматически исключаться избыточные обратные слэши.

Константные макроподстановки

Макроподстановка DollarLParent определяет подстроку "$(".

Предопределенные макроподстановки

Формальное имя макроопределения Комментарий Значение по умолчанию
UserName Имя зарегистрированного пользователя. Может не совпадать с именем пользователя ASB-сервера за счет применения ключа /User. Определено только в клиентском RED-файле "DEFAULT"
ASBProcessorRunFrom Папка, в которой расположен исполняемый модуль ASB-клиента  
ASBTemp Индивидуальная папка задачи клиента ASB для хранения временных файлов. По завершении задачи данная папка будет удалена со всеми своими подпапками и файлами. Определена только в клиентском RED-файле  
ASBTerminalClientTemp Индивидуальная папка задачи терминального клиента ASB для хранения временных файлов. По завершении задачи данная папка будет удалена со всеми своими подпапками и файлами. Определена только для терминального клиента ASB  
ClientRedFileDir Папка клиентского RED-файла проекта. Определена только в клиентском RED-файле  
ServerRedFileDir Папка серверного RED-файла проекта. Определена только в серверном RED-файле  
ClientProjectRoot Корневая папка клиентской части проекта. Определена только в клиентском RED-файле Если в секции "ASB Client" определен параметр ProjectRoot, совпадает с ним. Иначе - папка клиентского RED-файла.
ServerProjectRoot Корневая папка серверной части проекта. Определена только в серверном RED-файле Если в секции "ASB Server" определен параметр ProjectRoot, совпадает с ним. Иначе - папка серверного RED-файла.

Макроподстановки - специальные папки Windows

Эти макроподстановки разрешается использовать только в клиентском RED-файле. Большинство из них - специальные папки профиля зарегистрированного пользователя. Имена макроподстановок совпадают с именами специальных папок из функции Shell.SpecialFolders.

Формальное имя макроподстановки Комментарий Платформы, где макроподстановка определена
95 98 ME NT4 2000 XP 2003 Vista
AllUsersDesktop Общая для всех пользователей часть "рабочего стола" - - - + + + + +
AllUsersFavorites Общая для всех пользователей часть "избранного" - - - + + + + +
AllUsersPrograms Общая для всех пользователей часть меню программ - - - + + + + +
AllUsersStartMenu Общая для всех пользователей часть главного меню - - - + + + + +
AllUsersStartup Общая для всех пользователей часть автозагрузки - - - + + + + +
AppData Данные приложений IE4.0 + + IE4.0 + + + +
Cache Кэш IE + + + + + + + +
Cookies Папка для cookie-файлов + + + + + + + +
Desktop Рабочий стол + + + + + + + +
Favorites Избранное + + + + + + + +
Fonts Фонты + + + + + + + +
History История посещений IE + + + + + + + +
MyDocuments Мои документы + + + + + + + +
NetHood Пользовательские ярлыки к объектам сети + + + + + + + +
PrintHood Пользовательские ярлыки к принтерам + + + + + + + +
Programs Меню программ + + + + + + + +
Recent Меню недавно открывавшихся документов + + + + + + + +
StartMenu Главное меню + + + + + + + +
Startup Автозагрузка + + + + + + + +
SendTo Меню "Отправить" + + + + + + + +
System Системная папка Windows + + + + + + + +
System32 32-битная системная папка Windows + + + + + + + +
Temp Папка временных файлов в профиле пользователя + + + + + + + +
Templates Шаблоны + + + + + + + +
Windows Папка Windows + + + + + + + +

Макроподстановки - специальные папки ASB

Набор специальных папок ASB не фиксирован; все они определяются в секции "ASB Special Folders". В клиентском RED-файле обычно определены папки, необходимые для исполнения обновлений АвтоПарк: ServerProjectRoot, ClientASBRoot, ServerASBRoot, ApSrvASBRoot (при наличии сервера приложений ASB), ReceiveRoot. Кроме того, для множественных проектов в клиентском RED-файле основного проекта должны быть определены папки ClientProject2Root, ClientProject3Root и т.д. по числу частей множественного проекта. В серверном RED-файле обычно определена папка BackupRoot, которая определяет путь для выполнения резервного копирования (см. BACKUP). Предопределенные макроподстановки ASBTemp и ClientProjectRoot также считаются специальными папками ASB.

Секция "ASB Special Folders"

В данной секции описаны макроопределения специальных папок ASB. При определении папки можно использовать константные и предопределенные макросы, макросы специальных папок Windows (только в клиентском RED-файле), ранее определенные макросы специальных папок ASB.

Формальное имя макроподстановки RED-файл Использование Смысл
ClientProject2Root Клиентский Исполнение обновлений АвтоПарк Корневая папка клиентской части второго дополнительного проекта (если есть)
ClientProject3Root Клиентский Исполнение обновлений АвтоПарк Корневая папка клиентской части третьего дополнительного проекта (если есть)
ClientProject10Root Клиентский Исполнение обновлений АвтоПарк Корневая папка клиентской части десятого дополнительного проекта (если есть)
ServerProjectRoot Клиентский Исполнение обновлений АвтоПарк Корневая папка серверной части основного проекта. Для исполнения в "домашнем" режиме обновлений, содержащих команду Rebuild
ClientASBRoot Клиентский Исполнение обновлений ASB Корневая папка клиентской части ASB
Исполнение обновлений ASB Значение для инициализации свойства ASBJOB.ASBClientPath конструктором ASBJOB.Create
ServerASBRoot Клиентский Исполнение обновлений ASB Корневая папка серверной части ASB
ApSrvASBRoot Клиентский Исполнение обновлений ASB Корневая папка сервера приложений ASB. Если папка не определена, содержащие ее команды скрипта обновления будут проигнорированы
ReceiveRoot Клиентский Исполнение обновлений АвтоПарк и ASB Корневая папка для хранения файлов обновлений. Каждое обновление хранится в отдельной подпапке
BackupRoot Серверный Резервное копирования данных Корневая папка для выполнения резервного копирования процедурой BACKUP

Пример секции "ASB Special Folders" в клиентском RED-файле

[ASB Special Folders]
ServerProjectRoot  = \\Server\AutoParkSrv
ClientASBRoot      = \\Server\ASBClient
ServerASBRoot      = \\Server\ASBServer
ApSrvASBRoot       = \\Server\ASBApSrv
ReceiveRoot        = \\Server\Data\Receive

Пример секции "ASB Special Folders" в серверном RED-файле

[ASB Special Folders]
BackupRoot = Backup

Значения специальных папок ASB можно получить при помощи функции FIO.ASBSpecialFolders.

Секция "Redirection"

В данной секции описываются пути для поиска файлов по маскам имен. В левой части определения указывается маска имени файла, в правой - список папок через точку с запятой. В правой части определения разрешается использовать макроподстановки.

Секция "Schannel Options" (только в клиентском RED-файле)

В данной секции описываются настройки защищенного канала между клиентом и сервером.

Имя параметра Описание Область значений Значение по умолчанию
SSL2 Клиент разрешает использовать протокол SSLv2 Yes/No No
PCT1 Клиент разрешает использовать протокол PCTv1 Yes/No No
SSL3 Клиент разрешает использовать протокол SSLv3 Yes/No No
TLS1 Клиент разрешает использовать протокол TLSv1 Yes/No No
MinCipherStrength Минимальная допустимая длина сеансового ключа в битах число 0 (устроит любое)

Если все SSL-протоколы запрещены, клиент выберет набор разрешенных протоколов по собственному усмотрению.

Секция "ASL Options" (только в клиентском RED-файле)

Имя параметра Область значений Значение по умолчанию Комментарий
CheckStackOverflow Yes/No Yes Разрешена проверка переполнения стека интерпретатором ASL. Если проверка не разрешена, переполнение стека приведет к падению клиента ASB. Если проверка разрешена, на каждом входе в процедуру или, CALL интерпретатор будет проверять размер остатка стека; если осталось менее 64K, будет выброшено исключение 813. Параметр добавлен в версии 14.121.040.
LaterImport Yes/No Yes Режим позднего импорта интерпретатора ASL. Параметр добавлен в версии 14.246.030.

Секция "Common Options" (только в клиентском RED-файле)

Имя параметра Область значений Значение по умолчанию Комментарий
DebugTiming Yes/No No Выполнять таймирование старта программы V32, которое завершается выполнением первой ASL-программы. Информация записывается в файл Проект.ERH. Данный параметр перекрывается ключом командной строки DebugTiming. Параметр добавлен в версии 14.132.040.
MiniDumpType 0..4294967295 0 Задать тип расширенного минидампа, сохраняемого при падении клиента ASB. Расширенный минидамп сохраняется, если сформированное при падении сообщение соответствует шаблону, заданному параметром MiniDumpMessagePattern. Значение передается аргументом DumpType в системную функцию MiniDumpWriteDump. Значение по умолчанию, 0, - это MiniDumpNormal, тип, совпадающий с типом стандартного минидампа: если он выбран, отдельный расширенный минидамп не создается. Одним из возможных полезных значений параметров является 513 (MiniDumpWithPrivateReadWriteMemory|MiniDumpWithDataSegs): сохраняются объекты в стеке, в куче, и глобальные объекты. Однако размер одного дампа при этом составляет десятки мегабайт. Параметр добавлен в версии 14.231.010.
MiniDumpMessagePattern Строковый шаблон * Задать строковый шаблон, на соответствие которому по правилам функции Str.Match проверяется строка сообщения при сохранении расширенного минидампа при падении клиента ASB, если задан параметр MiniDumpType. Параметр добавлен в версии 14.231.010.

Секция "Printing Options" (только в клиентском RED-файле)

Секция параметров печати, заведена в отладочных целях, у клиентов использоваться не должна.

Имя значимого параметра Область значений Значение по умолчанию Комментарий
DefaultMonospacedFontFace   "Lucida Console" Гарнитура моноширинного шрифта по умолчанию. Используется, если параметры печати принтера отсутствуют в SES-файле. Параметр добавлен в версии 14.65.9.
TextOutMethod "BySymbol", "CalcDistance", "AutoDistance" "CalcDistance" Используемый клиентом ASB метод вывода текста на принтер.
"BySymbol" - посимвольная печать, медленная, каждый символ печатается отдельным вызовом функции Win32 API.
"CalcDistance" - построковая печать, быстрая, расстояния между символами контролирует клиент ASB.
"AutoDistance" - построковая печать, быстрая, расстояния между символами контролирует драйвер принтера. Под Windows 9X в данном режиме возможны ошибки.

Секция "Console Options" (только в клиентском RED-файле)

Секция управления параметрами консоли; заведена исключительно для удовлетворения особых административных потребностей (см. заявку 48065), у большинства клиентов использоваться не должна. Если все три параметра установить в No, в V32 и Ted отключается адаптация консоли и сохранение/восстановление параметров консоли в реестр, реализованные в версии 14.44.3.

Имя значимого параметра Область значений Значение по умолчанию Комментарий
NT5SaveSettings Yes/No Yes Под Windows 2000/XP/2003/Vista разрешено сохранять в реестр текущие параметры консоли по завершению и восстанавливать их на старте
AdaptFont Yes/No Yes Разрешено адаптировать шрифт консоли при появлении прокрутки после изменения размера буфера консоли в символах
AdaptWindowPos Yes/No Yes Разрешено адаптировать (выравнивать в границах рабочей области экрана) позицию окна после изменения размера буфера консоли в символах