======Установка обновлений ПО в автоматическом режиме======
Стартер реализует функцию установки обновления ПО "Кассир 5". Транспортировка пакета обновлений производится кассовым ПО. Инициирует процесс обновления кассовое ПО путём создания соответствующего семафора.\\
=====Сценарий обновления=====
Начальные условия.\\
- Пакет обновления подготовлен в подкаталоге ExtFiles\SelfUpdate каталога базы данных кассового ПО
- Создан семафор для начала процедуры обновления
- Завершается сеанс 1С: Предприятия
Процесс обновления.\\
- Создаётся бэкап
- Устанавливается флаг начала выполнения сценария обновления
- Стартер выполняет сценарий обновления
- При успешном завершении сценария удаляется флаг
- При ошибке производится откат на резервную копию
//Бэкап создается в каталоге, указанном в настройках на вкладке Стартера "Дополнительно". Согласно флагу "Использовать архивацию при обновлении" (на той же вкладке) в каталоге будет создан либо архив BackUpForUpdat.zip либо подкаталог BackUpForUpdate с содержимым каталога БД.//
=====Структура пакета обновления=====
Пакет обновления расположен в подкаталоге ExtFiles\SelfUpdate каталога базы данных кассового ПО.\\
Структура каталога следующая:\\
* SelfUpdate\\
* start.sem (обязательный)
* update.run (обязательный)
* StrtUpBeg.sem
start.sem - файл-семафор начала выполнения сценария, содержит текст: BEFORE_START. (создаётся кассиром)\\
update.run - исполняемый сценарий\\
StrtUpBeg.sem - файл содержит полный путь к новому стартеру, который должен быть заменен до выполнения сценария обновления (например, {updt}\CStart.exe)\\
=====Исполняемый сценарий update.run=====
Этот файл содержит инструкции для стартера, выполнение которых приведёт к обновлению ПО.\\
В сценарии обновления предусмотрена возможность использования шаблонов:\\
**{updt}** - каталог обновления (SelfUpdate)\\
**{db}** - каталог базы данных Кассира\\
Для включения логирования действий стартера при обновлении нужно запустить CStart.exe с параметром -d. Лог файлы будут записываться в каталог БД Кассира.\\
Доступные инструкции:\\
====Копирование файлов (cp)====
**cp from to**\\
Копирование файла или каталога из from в to\\
\\
//Копирование файла data.txt из подкаталога SelfUpdate в Extfiles каталога базы данных. Пример://\\
cp "{updt}\data.txt" "{db}\Extfiles"
//Копирование каталога AddDir со всем содержимым (рекурсивно) из подкаталога SelfUpdate в Extfiles каталога базы данных. Пример://\\
cp "{updt}\AddDir" "{db}\Extfiles"
//Копирование всех файлов из каталога AddDir из подкаталога SelfUpdate в Extfiles каталога базы данных. Пример://\\
cp "{updt}\AddDir\*.*" "{db}\Extfiles"
====Перемещение файлов (mv)====
**mv from to**\\
Выполнение перемещения файла из from в to.\\
\\
//Перемещение всех файлов с расширением epf из каталога (каталог БД)\ExtFiles\LogicalModules в каталог (каталог БД)\ExtFiles\LogicalModules\tmp. Пример://
mv "{db}\ExtFiles\LogicalModules\*.epf" "{db}\ExtFiles\LogicalModules\tmp"
====Удаление файлов (rm)====
**rm path**\\
Выполнение удаления файла или каталога path.\\
\\
//Удаление файла Data.txt в каталоге базы данных. Пример://
rm "{db}\Data.txt"
//Удаление каталога C:\Temp. Пример://
rm "C:\Temp"
====Выполенение команды системы (sh)====
**sh command arg1 arg2 ... argN**\\
Выполнение команды системы. command - исполняемая команда. argX - аргументы\\
\\
//Выполнение командного файла awesome.cmd из каталога обновлений с параметрами /onlytest /autoclose. Пример://
run {updt}\awesome.cmd /onlytest /autoclose
====Выполнение команд из файла (script)====
**script awesome.run**\\
Выполнение набора скриптовых команд из файла\\
\\
//Выполнение скиртовых команд из файла awesome.run из каталога обновлений. Пример://
script {updt}\awesome.run
====Архивирование файлов (zip)====
**zip src dst**\\
Архивирование файла/каталога\\
\\
//Архивирование каталога {db}\ExtFiles\LogicalModules в {db}\arch\lm.zip. Пример://
zip {db}\ExtFiles\LogicalModules в {db}\arch\lm.zip
====Запуск 1С:Предприятия (1c)====
**1c ent|conf param**\\
Запуск 1С в режиме предприятия (ent) или конфигуратора (conf) со всеми атрибутами из конфигурации стартера и дополнительными параметрами, переданными в значении param.\\
\\
//Запуск 1С: Предприятия в режиме конфигуратора с параметрами из конфигурации стартера и дополнительным параметром запуска /UpdateCfg. Пример://\\
1с conf /UpdateCfg
\\