@echo off setlocal enabledelayedexpansion :: Проверяем наличие папки для установки программы. Если нет, то создаём её. IF NOT EXIST D:\Regime (mkdir D:\Regime) :: Шаг 0: Запрос у пользователя токена Честного знака для юридического лица. Он необходим для инициализации Локального модуля Честного знака (ЛМЧЗ) set /p Token_YL="Vvedite token yurlitsa: " echo. :: Шаг 1: Установка программы :: Получение пути к файлу установки из файла path_for_install_LMChz.txt в том же каталоге, что и bat файл. set "installFile=" if exist "%~dp0path_for_install_LMChz.txt" ( for /f "usebackq tokens=*" %%a in ("%~dp0path_for_install_LMChz.txt") do ( set "installFile=%%a" goto :install ) ) :: Если файл path_for_install_LMChz.txt не найден в том же каталоге, что и bat файл, или пуст сообщаем об этом пользователю и прерываем установку. echo Oshibka: Fayl path_for_install_LMChz.txt ne nayden ili pust. echo Neponyatno chto nado ustanovit`. echo Dobavte v fayl %~dp0path_for_install_LMChz.txt put` k ustanovochnomu faylu i zapustite ustanovku povtorno. echo. pause exit /b 1 echo. :: Непосредственно установка ЛМЧЗ с логином admin и паролем admin в папку D:\Regime и рабочим (не тестовым!) сервером Честного знака хттпс://rsapi.crpt.ru :install echo Ustanovka programmy LMChZ... echo Ispolzuetsya put` k ustanovochnomu faylu: %installFile% echo. IF NOT EXIST %installFile% ( echo Fayl dlya ustanovki ne nayden! echo Proverte put` v %~dp0path_for_install_LMChz.txt, sam fayl dlya ustanovki i zapustite ustanovku povtorno. echo. pause exit /b 1 ) start /wait msiexec /i "%installFile%" /passive /norestart ADMINUSER=admin ADMINPASSWORD=admin APPLICATIONFOLDER="D:\Regime" AUTOSERVICE=1 SERVERURL=хттпс://rsapi.crpt.ru /l*v "D:\Regime\install_LMChZ_log.log" echo Ustanovka LMChZ zavershena. Podrobnosti ustanovki tut: D:\Regime\install.log echo. :: Шаг 2: Настройка СУБД "Енисей" :: Правим вручную файл конфигурации СУБД "Енисей" - добавляем в него новую учёиную запись с логином admin и паролем admin. :: Для этого в раздел [admins] надо добавить строчку admin = admin, сохранить файл и нажать любую клавишу в окне батника для продолжения. :: От имени пользователя admin далее будем создавать недостающие базы. echo Dobavte rukami v fayl D:\Regime\yenisei\etc\local.ini v razdel [admins] strochku admin = admin i nazhmite lubuyu klavishu dlya prodolzheniya ustanovki. echo. :: Открываем D:\Regime\yenisei\etc\local.ini в блокноте. "%windir%\system32\notepad.exe" "D:\Regime\yenisei\etc\local.ini" :: Ждём пока пользователь внесёт изменения в файл, сохранит егои нажмёт любую клавишу в окне батника. pause :: Для применения изменений в конфигурационном фале СУБД "Енисей" необходимо перезапустить службу yenisei echo Perezapusk sluzhby yenisei... net stop yenisei net start yenisei timeout /t 30 /nobreak echo Sluzhba yenisei perezapushchena. echo. :: Шаг 3: Создание баз данных, которые необходимы, но почему-то не создаются автоматически. echo Sozdanie baz dannykh blocked_cis i blocked_gtin. Pochemu-to oni ne sozdayutsya avtomaticjeski... curl -X PUT хттп://admin:admin@localhost:5984/blocked_cis if %errorlevel% neq 0 ( echo Oshibka pri sozdanii bazi blocked_cis. pause exit /b 1 ) curl -X PUT хттп://admin:admin@localhost:5984/blocked_gtin if %errorlevel% neq 0 ( echo Oshibka pri sozdanii bazi blocked_gtin. pause exit /b 1 ) echo Bazi dannykh sozdany. echo. :: Шаг 4: Инициализация ЛМЧЗ echo Initsializatsiya LMChZ... curl -X POST "хттп://127.0.0.1:5995/api/v1/init" -H "Content-Type: application/json" -H "Authorization: Basic YWRtaW46YWRtaW4=" -d "{""token"": ""%Token_YL%""}" if %errorlevel% neq 0 ( echo Oshibka pri initsializatsii LMChZ. pause exit /b 1 ) echo Zapros na initsializatsiyu LMChZ otpravlen na server ChZ. echo. :: Шаг 5: Проверка статуса ЛМЧЗ echo Ozhidayte 2 minuti. Dayom vremya LMChZ zavershit` initsializatsiyu. timeout /t 120 /nobreak :: Выполняем запрос curl -X GET "хттп://admin:admin@127.0.0.1:5995/api/v1/status" :: Проверяем статус if %errorlevel% neq 0 ( echo Oshibka pri proverke statusa. echo. pause exit /b 1 ) echo. :: Шаг 6: Открываем в файлы конфигурации, логи установки и работы ЛМЧЗ и СУБД "Енисей". echo Proverte chto poluchilos` po itogam raboti programmi: echo. echo Otkrivaem log ustanovki LMChZ echo D:\Regime\install_LMChZ_log.log echo. echo Otkrivaem fayl configuratsii LMChZ echo D:\Regime\regime\etc\local.ini echo. echo Otkrivaem fayl configuratsii SUBD "Enisey" echo D:\Regime\yenisei\etc\local.ini echo. echo Otkrivaem log raboti LMChZ echo D:\Regime\var\log\regime.log echo. echo Otkrivaem log raboti SUBD "Enisey" echo D:\Regime\var\log\yenisei.log echo. REM Открываем файлы конфигурации и логи "%windir%\system32\notepad.exe" "D:\Regime\install_LMChZ_log.log" | "%windir%\system32\notepad.exe" "D:\Regime\regime\etc\local.ini" | "%windir%\system32\notepad.exe" "D:\Regime\yenisei\etc\local.ini" | "%windir%\system32\notepad.exe" "D:\Regime\var\log\regime.log" | "%windir%\system32\notepad.exe" "D:\Regime\var\log\yenisei.log" :: Завершение echo Zakonchili ustanovku. Vozmozhno neobhodima perezagruzka kompyutera. echo. endlocal enabledelayedexpansion pause