======Установка обновлений ПО в автоматическом режиме====== Стартер реализует функцию установки обновления ПО "Кассир 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 \\