Для тех организаций кто пользуется этой программой. Мне хочется поделится небольшим опытом с которыми столкнулись в повседневе простые спецы, решившие автоматизировать установку - переустановку и обновление армов после каждых обновлений.
Большая часть написанного будет направленна на командную строку и реестр.
Начать хочется с самого начала, с начала установки необходимых программ, чтобы настроить связь с сервером (настройку сервера рассказывать не буду - не вникал в сам процесс, да и незачем если честно) и запуск самой программы "Ариадна".
1. Установка Oracla:
Процесс установки я описал в отдельной статье. Oracle придётся устанавливать в ручную, но настраивать его уже ненужно если вы сделали всё до прочтения этой статьи. Всё делает командная строка.
---------------------------------------------------------------------------------------------
2. Создание папок и исполняемых файлов.
Для начала создал папку "ariadna_eln" в обменнике на сервере, так как доступ к ней всегда открыт, и ей можно воспользоваться даже с локального пользователя с доменного соответственно.
(Есть нюанс который я досих-пор не решил: установка с сервера с настроенными правами.)
SETUP - Папка для установки ARMSpravka
tmp - Сборник других исполняемых файлов, ярлыков, файлов конфигураций
setup.bat - Основной исполняемый файл.
setup_xp.bat - Исполняемый файл для запуска на Windows XP.
---------------------------------------------------------------------------------------------
Меню отображаемое в командной строке (setup.bat):
Установщик связки АРМ Справки и rutoken JCP
0. Выход
1. Для массовой печати лабораторных результатов (Установка АРМ Лаборатория и FinePrint).
2. Чистая установка Ariadna - Content - ARM Spravka
3. Запуск JCP
4. Удаление JCP
5. Установка Ariadna - Content (обновление ARM - Java) "Если не используются ARM Spravka"
6. Обновление АРМ на рабочей станции
7. Копирование ArmProceduralRoom и Barista и создание ярлыков на Рабочем столе
8. Удаление подраздела MED в ветке реестра ELSOFT
9. Удаление Oracle, Ariadna, Content
Введите цифру желаемого пункта:
---------------------------------------------------------------------------------------------
При выборе пункта где нужны права администратора, батник запрашивает пароль от администратора, дальше запрашивает доменный логин и пароль чтобы зайти на сервер.
(Пути \\srv1\, \\srv2\ и *\ariadna_eln неправильные, подставляйте свои.)
Что нужно скачать:
FinePrint-10.28 - Для печати на одном листе нескольких анализов.
Для установки АРМ Справка
rtSup_CryptoProJCP.v.2.06.00.0013
---------------------------------------------------------------------------------------------
3. Код для setup.bat:
@echo off
rem SRC_DIR* - перенаправление на директории:
set SRC_DIR=\\srv1\exchange\ariadna_eln\SETUP
set SRC_DIRT=\\srv1\exchange\ariadna_eln\tmp
set SRC_DIRTL=\\srv1\exchange\ariadna_eln\tmp\lnk
set JAVA_DIR=c:\ARIADNA\APP\JAVA
set USER=Администратор
cls
echo Установщик связки АРМ Справки и rutoken JCP
echo.
:start
echo 0. Выход
echo 1. Для массовой печати лабораторных результатов (Установка АРМ Лаборатория и FinePrint).
echo 2. Чистая установка Ariadna - Content - ARM Spravka
echo 3. Запуск JCP
echo 4. Удаление JCP
echo 5. Установка Ariadna - Content (обновление ARM - Java) "Если не используются ARM Spravka"
echo 6. Обновление АРМ на рабочей станции
echo 7. Копирование ArmProceduralRoom и Barista и создание ярлыков на Рабочем столе
echo 8. Удаление подраздела MED в ветке реестра ELSOFT
echo 9. Удаление Oracle, Ariadna, Content
echo.
choice /C 123456789 /N /M "Введите цифру желаемого пункта:" /T 30 /D 1
if Errorlevel 9 goto Uninstall Oracle
if Errorlevel 8 goto Clean ELSOFT
if Errorlevel 7 goto Copy ARMProc Barista
if Errorlevel 6 goto Update
if Errorlevel 5 goto SetupUp
if Errorlevel 4 goto Delete
if Errorlevel 3 goto Start
if Errorlevel 2 goto Install
if Errorlevel 1 goto Install_Lab_FinePrint
if Errorlevel 0 goto End
:Uninstall Oracle
cls
call runas /user:%USER% "%SRC_DIRT%\Uninstall.bat %JAVA_DIR%"
goto End
:Clean ELSOFT
cls
REG DELETE "HKLM\SOFTWARE\MICROSOFT\MSLICENSING" /f
REG DELETE "HKCU\SOFTWARE\ELSOFT\MED" /f
goto End
rem \\srv1\exchange\ariadna_eln\ - прописать свой путь где хранятся файлы запуска, настроек, ярлыков.
:Copy ARMProc Barista
cls
echo Создание ярлыков на рабочем столе, копирование программ с сервера после ввода паролей.
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\Arm Процедурный кабинет.lnk" "%USERPROFILE%\Desktop\"
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\Barista.lnk" "%USERPROFILE%\Desktop\"
rem Если папка не существует то команда MD %USERPROFILE% создаст её.
MD %USERPROFILE%\.ARIADNA\
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\connection.xml" "%USERPROFILE%\.ARIADNA\"
call runas /user:%USER% "%SRC_DIRT%\SetupProcBar.bat"
goto End
:Update
cls
call
set sourcedir="\\srv2\ARIADNA\SETUP"
set destdir="C:\ARIADNA\EXE"
echo Обновление ARM
xcopy %sourcedir% %destdir% /u /y
set sourcedir="\\srv2\ARIADNA\APP\JAVA\lib"
set destdir="C:\ARIADNA\APP\JAVA\lib"
echo Обновление JAVA
xcopy %sourcedir% %destdir% /u /y
pause
goto End
:SetupUp
cls
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\tnsnames.ora" "C:\Oracle\product\12.2.0\client_1\network\admin\"
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\sqlnet.ora" "C:\Oracle\product\12.2.0\client_1\network\admin\"
call runas /user:%USER% "%SRC_DIRT%\SetupARM.bat %JAVA_DIR%"
goto End
:Delete
call runas /user:%USER% "\"%SRC_DIR%\jcp-2.0.39014\setup_console.bat\" %JAVA_DIR%\jre8 -en -uninstall"
pause
goto End
:Start
call runas /user:%USER% "\"%SRC_DIR%\jcp-2.0.39014\ControlPane.bat\" %JAVA_DIR%\jre8"
pause
goto End
:Install
cls
call runas /user:%USER% "%SRC_DIR%\setup.bat %JAVA_DIR%"
goto End
:Install_Lab_FinePrint
cls
MD %USERPROFILE%\.ARIADNA\
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\conf_lab\settingsApp.xml" "%USERPROFILE%\.ARIADNA\"
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\conf_lab\settingsTable.xml" "%USERPROFILE%\.ARIADNA\"
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\conf_lab\АРМ Лаборатория.lnk" "%USERPROFILE%\Desktop\"
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\conf_lab\Инструкция по множественной печати.docx" "%USERPROFILE%\Desktop\"
REG DELETE "HKCU\Software\FinePrint Software" /f
call runas /user:%USER% "%SRC_DIRT%\SetupARMLAB.bat %JAVA_DIR%"
goto End
:End
echo Работа завершена
exit
---------------------------------------------------------------------------------------------
Папка SETUP, используется для установки ARMSpravka, rtDrivers, CryptoProJCP
Код для fix.bat
@echo off
set SRC_DIR=*\ariadna_eln\SETUP
echo УСТРАНЕНИЕ ОШИБКИ Unlimited strength Jurisdiction Policy
xcopy /y "%SRC_DIR%\policy\local_policy.jar" %1\jre\lib\security\
xcopy /y "%SRC_DIR%\policy\US_export_policy.jar" %1\jre\lib\security\
Код для setup.bat - Установка модулей МИС, УСТАНОВКА КРИПТОПРО JCP, УСТАНОВКА ДРАЙВЕРА РУТОКЕН и т.д.
@echo off
set SRC_DIR=\\srv1\exchange\ariadna_eln\SETUP
net use r: \\srv2\ARIADNA\
set SRC_DIR_R=R:\ARIADNA\SETUP\JAVA
set sourcedir="R:\ARIADNA\SETUP"
set destdir="C:\ARIADNA\EXE"
echo Установка модулей МИС
echo.
echo Установка Ariadna
"%SRC_DIR_R%\SetupAriadna.exe" /S
echo Установка АРМ Справки
"%SRC_DIR_R%\SetupArmSpravka.exe" /S
echo Установка АРМ Контент
"%SRC_DIR_R%\SetupArmContent.exe" /S
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\APP\JAVA\bin\connection.xml" "C:\ARIADNA\APP\JAVA\bin"
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\tnsnames.ora" "C:\Oracle\product\12.2.0\client_1\network\admin\"
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\sqlnet.ora" "C:\Oracle\product\12.2.0\client_1\network\admin\"
echo УСТАНОВКА КРИПТОПРО JCP
call "%SRC_DIR%\jcp-2.0.39014\setup_console.bat" %1\jre8 -en -install
pause
echo Копируем файл java.security
xcopy /y "%SRC_DIR%\java.security" %1\jre8\lib\security\
pause
echo Копируем файл JCPGost2001DateProvider.jar
xcopy /y "%SRC_DIR%\JCPGost2001DateProvider.jar" %1\jre8\lib\ext\
pause
echo НАСТРОЙКА КРИПТОПРО JCP
call "%SRC_DIR%\jcp-2.0.39014\ControlPane.bat" %1\jre8
pause
echo УСТАНОВКА ДРАЙВЕРА РУТОКЕН
rem start /wait "%SRC_DIR%\rtDrivers.exe"
"%SRC_DIR%\rtDrivers.exe"
pause
echo УСТАНОВКА МОДУЛЯ ПОДДЕРЖКИ РУТОКЕН ДЛЯ КРИПТОПРО JCP
xcopy /y "%SRC_DIR%\rtSup_CryptoProJCP" %1\rtsup\
cd %1\rtsup\
%1\jre8\bin\java -jar rtjlib.jar -install -rutoken
call "%SRC_DIR%\jcp-2.0.39014\ControlPane.bat" %1\jre8
pause
echo КОПИРОВАНИЕ БИБЛИОТЕК ДЛЯ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ
xcopy /y %1\lib\xalan-2.7.0.jar %1\jre8\lib\ext\
xcopy /y %1\lib\xmlsec-1.5.0.jar %1\jre8\lib\ext\
xcopy /y %1\lib\wss4j-1.6.19.jar %1\jre8\lib\ext\
xcopy /y %1\lib\commons-logging-1.2.jar %1\jre8\lib\ext\
echo.
echo Далее создаётся папка "EXE" и копируются АРМы (Если не требуется, закрыть окно)
pause
echo.
echo Копирование АРМ
md C:\ARIADNA\EXE\
copy "%sourcedir%\ArmStacDoctor.exe" "C:\ARIADNA\EXE\"
copy "%sourcedir%\ArmMoving.exe" "C:\ARIADNA\EXE\"
copy "%sourcedir%\ArmAmbDoctor.exe" "C:\ARIADNA\EXE\"
copy "%sourcedir%\connect.xml" "C:\ARIADNA\EXE\"
copy "%sourcedir%\UPDATER.exe" "C:\ARIADNA\EXE\"
echo Обновление ARM
xcopy %sourcedir% %destdir% /u /y
net use r: /delete /yes
pause
---------------------------------------------------------------------------------------------
tmp - для создания дополнительных исполняемых файлов.
ArmSpravka.bat
@echo off
CALL common_ext.bat
SET CLASSPATH=%CLASSPATH%;..\lib\ArmSpravka.jar;..\lib\iText-2.0.8.jar;..\lib\mail.jar;..\lib\DbfReader.jar;..\lib\zxing-2.2.jar;..\lib\commons-logging-1.2.jar;..\lib\bcprov-jdk15on-1.60.jar;..\lib\bcpkix-jdk15on-1.60.jar;
CALL ArmSpravkaExt.bat
START %JAVA_HOME%\bin\javaw -Xmx256M -classpath %CLASSPATH% app.Application %*
SetupARM.bat - Создаётся сетевой диск и с него запускается установка и копирование - обновление АРМов.
@echo off
net use r: \\srv2\ARIADNA\SETUP
set SRC_DIR=R:\ARIADNA\SETUP\JAVA
set sourcedir="R:\ARIADNA\SETUP"
set destdir="C:\ARIADNA\EXE"
set sourcedirjav="R:\ARIADNA\APP\JAVA\lib"
set destdirjav="C:\ARIADNA\APP\JAVA\lib"
echo Установка Ariadna
"%SRC_DIR%\SetupAriadna.exe" /S
echo Установка АРМ Контент
"%SRC_DIR%\SetupArmContent.exe" /S
copy "*ariadna_eln\tmp\lnk\APP\JAVA\bin\connection.xml" "C:\ARIADNA\APP\JAVA\bin"
echo.
echo Далее создаётся папка "EXE" и копируются АРМы (Если не требуется то закрыть окно)
pause
echo.
echo Копирование АРМ
md C:\ARIADNA\EXE\
copy "%sourcedir%\ArmStacDoctor.exe" "C:\ARIADNA\EXE\"
copy "%sourcedir%\ArmMoving.exe" "C:\ARIADNA\EXE\"
copy "%sourcedir%\ArmAmbDoctor.exe" "C:\ARIADNA\EXE\"
copy "%sourcedir%\connect.xml" "C:\ARIADNA\EXE\"
copy "%sourcedir%\UPDATER.exe" "C:\ARIADNA\EXE\"
echo.
echo Обновление ARM
xcopy %sourcedir% %destdir% /u /y
xcopy %sourcedirjav% %destdirjav% /u /y
net use r: /delete /yes
pause
SetupARMLAB.bat - Создаётся учётная запись для печати результатов. Устанавливается АРМ Лаборатория, настраивается печать на FinePrint. После копируем файл настроек в папку \tmp.
@echo off
net use r: \\srv2\ARIADNA\SETUP
set SRC_DIR=R:\ARIADNA\SETUP\JAVA
set sourcedir="\\srv1\files\Distr\fineprint\FinePrint-10.28"
rem wmic product get name,version,vendor
rem wmic product where name="FinePrint" call uninstall /nointeractive
rem Пути на удаление программ находятся в ветке:
rem Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
C:\Windows\system32\spool\DRIVERS\x64\3\fpinst9.exe /uninstall
C:\Windows\system32\spool\DRIVERS\x64\3\fpinst10.exe /uninstall
echo Дождаться когда удалится FinePrint
pause
echo Удаление ветки в реестре FinePrint
REG DELETE "HKCU\Software\FinePrint Software" /f
echo Установка FinePrint 10.28
"%sourcedir%\FinePrint-10.28.exe" /S
echo Установка АРМ Лаборатория
"%SRC_DIR%\SetupArmLab.exe" /S
net use r: /delete /yes
pause
SetupProcBar.bat - Копирует папки ArmProceduralRoom и Barista с сервера на локальный диск, создаёт ярлыки на рабочем столе пользвателя.
@echo off
set SRC_DIRA="C:\ARIADNA\"
net use r: \\srv2\ARIADNA\
set SRC_DIR=R:\ARIADNA
set sourcedir="R:\ArmProceduralRoom"
set destdir="C:\ARIADNA\APP"
set sourcedirbar="R:\Barista"
set destdirbar="C:\ARIADNA\APP"
cls
echo Копирование - обновление ArmProceduralRoom
xcopy %sourcedir% %destdir% /O /X /E /H /K /Y
echo Копирование - обновление Barista
xcopy %sourcedirbar% %destdirbar% /O /X /E /H /K /Y
net use r: /delete /yes
pause
Uninstall.bat - Удаляет Oracle, Ariadna
@echo off
echo Удаление Oracle 12.2.0
C:\Oracle\product\12.2.0\client_1\deinstall\deinstall.bat
echo Удаление Ariadna
C:\ARIADNA\APP\JAVA\Uninstall.exe /S
echo Удаление АРМ Контент
C:\ARIADNA\APP\JAVA\ArmContentUninstall.exe /S
echo Удаление АРМ Справки
C:\ARIADNA\APP\JAVA\ArmSpravkaUninstall.exe /S
echo Удаление АРМ Лаборатория
C:\ARIADNA\APP\JAVA\ArmLabUninstall.exe /S
echo Удаление АРМ Счетчик
C:\ARIADNA\APP\JAVA\ArmCellCounterUninstall.exe /S
pause
---------------------------------------------------------------------------------------------
lnk - для сбора файлов с настройками, ярлыки и инструкции.
Lnk.bat - Копирует Arm Процедурный кабинет, Barista.
@echo off
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\Arm Процедурный кабинет.lnk" "%USERPROFILE%\Desktop\"
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\Barista.lnk" "%USERPROFILE%\Desktop\"
MD %USERPROFILE%\.ARIADNA\
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\connection.xml" "%USERPROFILE%\.ARIADNA\"
copy "\\srv1\exchange\ariadna_eln\tmp\lnk\APP\JAVA\bin\connection.xml" "C:\ARIADNA\APP\JAVA\bin"
pause
exit
После первой установки и настройки Oracle, АРМ Контент и ArmProceduralRoom, нужно скопировать файлы настроек в папку с исполняемыми файлами.
Нужно скопировать из папки C:\ARIADNA\APP\JAVA\bin файл настроек соединения с сервером "connection.xml" в папку *\ariadna_eln\tmp\lnk\APP\JAVA\bin\
Так как нужно каждый раз вводить в ручную настройки в ArmProceduralRoom, не подхватывает настройки с АРМ Контент:
%USERPROFILE%\.ARIADNA\connection.xml в *\ariadna_eln\tmp\lnk\
Для АРМ Лаборатория:
%USERPROFILE%\.ARIADNA\settingsApp.xml и %USERPROFILE%\.ARIADNA\settingsTable.xml в папку *:\ariadna_eln\tmp\lnk\conf_lab
Для Oracle:
Нужно скопировать из папки C:\Oracle\product\12.2.0\client_1\NETWORK\ADMIN\ два файла настроек "sqlnet.ora" "tnsnames.ora" в папку *\ariadna_eln\tmp\lnk
---------------------------------------------------------------------------------------------
Делал батник для себя, но пригодился он многим и сократил большое количество времени. Часть файлов отсутствует, могу переслать.