Общие принципы обновления программного комплекса Game-Keeper
1. Текущее семейство версий ПО Game-Keeper разрабатывается на версии MS SQL Server 2017!!! При обновлении ПО Game-Keeper обновление MS SQL Server до указанной версии обязательно. Рекомендованная последовательность действия для обновления:
- Сделать резервные копии (бэкапы) баз данных (имеются ввиду базы данных всех систем, использующих MS SQL Server, например: GK, RK7, CRM).
- Удалить полностью старую версию MS SQL Server и все его компоненты.
- Перегрузить сервер.
- Установить и настроить MS SQL Server 2017 как описано в разделе Microsoft SQL Server Express.
- Перегрузить сервер.
- Восстановить из резервных копий.
- Перенастроить ПО, использующий эти базы данных на работу с новым поколением SQL Server.
Если на объекте использовался MS SQL Server версии ниже, чем 2012, например, MS SQL Server 2008, то резервная копия, сделанная на такой версии SQL, не восстановится на MS SQL Server 2017. Восстановление необходимо делать используя промежуточный MS SQL Server 2012.
2. Следствием использования MS SQL Server 2017 является требование к операционной системе сервера. Минимальному требованию соответствует семейство ОС Windows 10 Pro. Поэтому, если на объекте на сервере установлены Windows 7, Windows Server 2008 или 2012, то необходима замена или обновление этих операционных систем.
3. Так как для установки актуальных версий GK требуются SQL Server 2017 и соответствующая этому поколению SQL ОС Windows, то возрастают требования к самому серверу, а точнее к его быстродействию и мощности. Опираясь на минимальные требования к серверному оборудованию из соответствующей документации «Общие требования к объектам перед инсталляцией», привести сервер к этому уровню путем доукомплектации или замены.
4. Обновление ПО Game-Keeper всегда стоит производить только до последней актуальной версии!
5. Перед самостоятельным обновлением всегда связываться с техническими специалистами Game-Keeper для проведения консультаций. Обращаться через запрос на трекер support@game-keeper.com В запросе необходимо указать текущие данные по объекту: ОС Windows на сервере, версия SQL Server, версия БД gkArcade, а также наименование объекта, код корпорации в системе GK, количество рабочих мест: касс, компьютеров менеджеров, инфо-терминалов и т.д., количество и тип оборудования в зале: игровых аппаратов (контролеров), турникетов, калиток, блок-ридеров и т.д.
6. Перед обновлением обязательно необходимо делать резервную копию базы данных gkArcade, а также копию исполняемых модулей Game-Keeper для случая, если потребуется восстановление работы на прежней версии.
Обновления системы Game-Keeper может быть двух вариантов:
- Обновление с версий 4-го поколения GK на актуальную.
- Обновление с версии 3.34 и ниже.
Обновление корпоративной версии в этой статье не рассматривается. Корпоративными версиями занимаются исключительно сотрудники технической службы GK, или имеющие навыки в выполнении такого рода работ специалисты под их руководством. По этому поводу есть отдельный раздел с соответствующей документацией.
Обновление с версий 3.34 и ниже, по сути, сводится к созданию резервной копии базы данных текущей версии, удалении старой версии GK, установке актуальной версии, и восстановлении из резервной копии базы данных gkArcade. В этом варианте первично приведение сервера к состоянию из рекомендаций выше (пункты 1, 2, 3), а затем выполнение самой установки. Также стоит обязательно воспользоваться п. 5.
Обновление с версий 4-го поколения GK состоит из двух этапов:
- Обновление базы данных.
- Обновление исполняемых модулей.
Обновление базы данных GK
Обновление БД производится при помощи утилиты gkUpgrader из дистрибутива актуальной версии ..\Files\DISTRIB\ gkUpgrader. Запускать утилиту необходимо с правами Администратора.
Первым шагом настраивается подключение к БД.
Если параметры подключения указаны верно, то при нажатии на кнопку «Подключиться», система сама заполнит поля путь и имя БД, а также определит версию, о чем напишет в информационном окне.
Далее в ниспадающем окне «Новая версия» стоит указать версию, на которую хотим произвести обновление.
Если предварительно не делалась резервная копия БД, нужно поставить галочку «Выполнить бэкап перед обновлением».
Нажимаем кнопку «Обновить». Если выполнение прошло успешно, то система выдаст сообщение и в окне логирования будут соответствующие записи.
После операций по обновлению базы данных стоит проверить это непосредственно в таблице dbo.SYS_VERSION_INFO через SQL Management Studio.
Если по каким-то причинам операции по обновлению БД прошли с ошибками, то стоит восстановить базу данных из резервной копии и связаться с сотрудниками технической службы Game-Keeper через трекер: support@game-keeper.com.
Обновление исполняемых модулей
Перед обновлением исполняемых модулей обязательно остановить все сервисы, относящиеся к GK. Сделать это можно через утилиту Configurator.exe в корне каталога GK.
Запуск утилиты Configurator.exe следует производить с правами Администратора.
Необходимо также сделать копию папки GK (по умолчанию находятся исполняемые модули при установке инженерами технической службы Game-Keeper, на реальном объекте папка может называться иначе). Обращаем внимание, что при обновлении системы конфигурационные файлы с расширениями *.ini, *.cfg, *.json, *.config, а также bat-файлы для автоматического запуска приложений НЕ КОПИРУЮТСЯ с заменой. При необходимости в них вносятся изменения или дополнения в соответствии с релизом версии. О предназначении этих изменений можно узнать из файла «GK Release. What's new.docx», а также в службе технической поддержки Game-Keeper. С полным описанием параметров конфигурационных файлов GK можно ознакомиться в разделе документации «Дополнительные настройки (.ini-файлы)». После замены компонентов системы на новые версии, службы GK необходимо заново запустить также через утилиту Configurator.exe!!!
1. Обновление gkPosServer
Рабочая директория по умолчанию ..\GK\gkServices\.
Замена файлов: gkPosServer.exe, libeay32.dll, ssleay32.dll.
2. Обновление gkAgent, gkHost
Рабочая директория по умолчанию ..\GK\gkServices\.
Замена файлов: gkAgent.exe, gkHost.exe, libeay32.dll, ssleay32.dll.
3. Обновление модуля Редактор
Рабочая директория по умолчанию ..\GK \gkEditor\.
Замена файлов: gkMServer.exe, gkEditor.exe, gkMgrExt.dll, smsSend.dll, libeay32.dll, ssleay32.dll.
Также требуется перерегистрировать gkMServer (только на сервере!!!):
Для перерегистрации данного сервера приложений можно воспользоваться одним из способов:
- В этой же папке gkEditor имеется service_registration.bat. Запустить от имени Администратора.
- Создать ярлык запускаемого файла gkMServer.exe, в его свойствах указать ключ -regserver и запустить этот ярлык от имени Администратора. (Этот способ рекомендуемый!)
В обоих случаях после проделанных действий запустить и выгрузить gkMServer.exe, щелкнув по файлу 2 раза левой кнопкой мыши, или навести курсор и нажать Enter на клавиатуре.
При запуске в трее появится иконка этого сервера приложений . Нажать правой кнопкой мыши на иконке и выбрать Exit.
4. Обновление модуля Пользователи и права
Рабочая директория по умолчанию ..\GK\gkReports\.
Данный модуль на текущий момент не обновляется.
5. Обновление модуля Кубы GK
Рабочая директория по умолчанию ..\GK\gkReports\.
Исполняемые файлы модуля на текущий момент не обновляются. Иногда может потребоваться перезагрузка шаблонов кубов. Для этого нужно: из нового дистрибутива версии скопировать с заменой папку с шаблонами d:\GK\gkReports\Reports\Кубы\, зайти в приложение Кубы GK, удалить корневую вершину Кубы GK и сделать заново импорт группы отчетов.
Выбираем на главной панели Отчеты – Импорт группы отчетов. В появившемся окне указываем База данных – GKDB (созданная ранее), Путь к отчетам – путь к папке Reports, ставим галочку Фильтр и выбираем наш фильтр, созданный ранее, ставим галочку «Перезаписать источники данных».
Нажимаем кнопку «Импортировать». Происходит импорт шаблонов кубов в базу данных.
Нажимаем кнопку «Закрыть». Загруженные Кубы отобразятся в главном окне.
Далее для каждого Куба необходимо настроить поля для отображения в отчетах. Для этого выбираем Куб, в правом окне выбираем вкладку «Дополнительно», далее «Стандартные настройки», автоматически проставятся галочки. Для сохранения изменений необходимо нажать кнопку .
6. Обновление кассы gkPos
Рабочая директория на кассовом терминале по умолчанию ..\GK\gkPos\.
Замена файлов: gkPos.exe, fpAtol54.dll, fpShtr54.dll, cvSBplt.dll, BarCodeGen.dll, ibeay32.dll, ssleay32.dll.
Если на Pos-терминале установлена ОС семейства Windows 7 или семейства Windows 10, то для связи рабочего модуля с БД должен быть установлен SQL Server Native Client 2012!
Если на Pos-терминале установлена ОС семейства Windows XP, то для связи рабочего модуля с БД должен быть установлен компонент Microsoft Visual C++ (vcredist_x86.exe)!
7. Обновление инфо-терминала gkInfo
Рабочая директория на терминале по умолчанию ..\GK\gkInfo\.
Замена файлов: gkInfoT.exe, ibeay32.dll, ssleay32.dll
Если на Pos-терминале установлена ОС семейства Windows 7 или семейства Windows 10, то для связи рабочего модуля с БД должен быть установлен SQL Server Native Client 2012!
Если на Pos-терминале установлена ОС семейства Windows XP, то для связи рабочего модуля с БД должен быть установлен компонент Microsoft Visual C++ (vcredist_x86.exe)!
8. Обновление WEB-отчетов
Рабочие директории по умолчанию: ..\GK\ gkConfigurator\ - служба конфигуратора web-отчетов, ..\GK\gkSSRS\ - каталог с настройками и шаблонами.
Обновить платформу .Net Core на актуальную версию с официального сайта https://dotnet.microsoft.com/download/dotnet-core/3.1, установив пакет Windows Hosting Bundle (установочный файл при скачивании dotnet-hosting-3.1.3-win.exe – версия для примера). Более подробно установка Net Core описана в Приложении 1. Установка платформы .Net Core.
Остановить службу конфигуратора web-отчетов.
Из нового дистрибутива версии GK заменить содержимое папок gkConfigurator и gkSSRS с заменой файлов. Проверить строку подключения в конфигурационном файле appsettings.json (этот конфиг можно оставить из текущей версии и при копировании новых файлов не заменять):
"ConnectionStrings": {
"DefaultConnection": "Data Source=127.0.0.1;Initial Catalog=gkArcade;Persist Security Info=True;User ID=sa;Password=1q2w3e777!"
}
Запустить службу конфигуратора web-отчетов.
Зайти через WEB-интерфейс в конфигуратор WEB-отчетов по адресу 127.0.0.1:50010 или 127.0.0.1:60010, в зависимости на каком порту развернут сервис. В блоке настроек Групповая загрузка отчетов ввести логин и пароль пользователя для загрузки отчетов, выбрать путь к папке с шаблонами web-отчетов d:\GK\gkSSRS\Source\ и нажать "Загрузить".
Выйдет информационное сообщение.
При успешной загрузке шаблонов.
Стоит обратить внимание, что при обновлении WEB-отчетов, которые до этого работали на объекте, не требуется загружать настройки из папки Settings!!!
9. Обновление сервисов IIS для GK
Обновить gkExtServer:
- остановить службу gkExtServer, относящийся к нашему сервису IIS (для примера выбрана технология web-мониторинга тарифных зон - rpt1);
- из актуального дистрибутива версии в текущую папку с gkExtServer скопировать gkExtServer.exe, libeay32.dll, ssleay32.dll с заменой файлов;
- запустить службу gkExtServer.
Обновить платформу .Net Core на актуальную версию с официального сайта https://dotnet.microsoft.com/download/dotnet-core/3.1, установив пакет Windows Hosting Bundle (установочный файл при скачивании dotnet-hosting-3.1.3-win.exe – версия для примера). Более подробно установка Net Core описана в Приложении 1. Установка платформы .Net Core.
Через диспетчер служб IIS остановить сайт и пул обновляемого сервиса.
Заменить содержимое папки с web-сервером IIS. Проверить подключение к БД в конфигурационном файле.
Там же в диспетчере служб IIS запустить сайт и пул.