Многолетний опыт сопровождения программных комплексов подсказал мне единый алгоритм действий по обеспечению непрерывности ведения бизнес-процессов. Как сказал один мой друг когда его спросили о том какой из программных комплексов ему больше других нравится - С точки зрения сопровождения все комплексы одинаковы! И в чем-то он прав.
Смею предложить вам на вскидку мои 6 пунктов через которые приходится проходить с каждым новым софтом. В дополнение к инструкциям которые пишут разработчики.
1. Installation.
Пакет локальной инсталяции клиента обычно содержит главный файл
setup.exe либо setup.msi
Последний позволяет запускать инсталяцию в различных режимах, например, в скрытом
msiexec /q /i %cd%\Chrome.msi
Setup.exe тоже может иметь встроенные ключи запуска, проверить их наличие можно по setup.exe /?
Частенько для нормальной работы нового софта необходимо доинсталлировать следующие пакеты:
- MS Visual Redistributable последней версии, но не факт.
- MS NET Framework последней версии, но не факт. Причем новый софт может быть собран так что вам понадобится только определенная версия NET Framework-а. Поэтому бывает в списке нашей ОС Windows их целый зоопарк.
- MS XML Parser
- Java Runtime Envinronment.
Это самые популярные компоненты среды выполнения.
2. Destination.
По умолчанию новый пакет всегда норовит инсталлировать себя в C:\Program Files\New Program... Если политика вашей компании не указывает вам явно куда его ставить. Однако здесь бывают случаи что для последующих обновлений пользователю может не хватить прав на запись или изменения файлов в папке C:\Program Files\New Program. Лучше это выяснить заранее. Так же бывают случаи что для обновления нужен доступ к определенной ветке реестра.
Выяснить эти моменты нам помогут утилиты Марка Руссиновича:
- FileMonitor
- RegistryMonitor
3. Configuration.
Настройки комплекса обычно хранятся во всевозможных ini или xml файлах. Другая часть из них, которая не для всех, находится и реестра Windows в кустах HKLM и HKCU. Разумеется возможна регистрация всевозможных классов и библиотек и в других кустах. Для настройки комплекса существует отдельная утилита Администратора, хотя бывает проще поправить сам ini-файл.
Иногда бывает полезно проверить достаточно ли экспорта-импорта ключей реестра для переноса комплекса на другой ПК. Это экономит ваше время однако не всегда гарантирует работоспособный комплекс на новом месте. Тут как повезет. Если разработчик разумный, то его комплекс скажет при первом запуске чего именно ему не хватает на новом месте. Исходя из сообщений на экране думайте справитесь ли вы с поиском решения или все таки пойдете по пути полной инсталляции.
4. Logging.
Журналирование (или логирование) событий работы нового программного комплекса очень важный момент. Именно по журналу мы можем определить что с комплексом не так, или когда и какая операция была им выполнена. Обычно комплекс пишет в свой журнал с защитой от изменений (CRC). Это может быть как текстовый файл (в кодировке OEM,ANSI или UTF) так и специфический двоичный. Помимо этого события работы связанные с конкретной программой могут отразиться в журнале Windows Application и Security, реже в System.
Мне лично помогают следующие инструменты парсинга таких журналов:
- утилита от MS LogParser
- утилита от MS Configuration Manager Trace Log Tool
- утилита GateLogViewer
- скрипты PowerShell.
5. Backup.
Backup нового комплекса может быть штатный если об этом позаботился разработчик. Радуйтесь, но обязательно проверьте его на предмет того что именно входит в штатный бекап и можно ли его запускать автоматически по расписанию, ночью например. За мою практику бывали разные случаи: или только ручной штатный или неполный, без пользовательских настроек.
Если штатного бекапа нет, то надо смастерить свой, желательно запуск по планировщику, рекомендую nnCron. При этом надо учесть нужен ли для бекапа logout в базе данных плюс сделать backup(срез) самой базы данных.
А в идеале рекомендую собрать stby-вариант вашего комплекса и периодически выкатывать на него свежие бекапы для проверки. Stby-вариант комплекса идеально выручит вас в лихую минуту падения нового софта.
6. Uninstallation.
Ну и, конечно, деинсталляция пакета. Штатно пакет деинсталлируется через Панель Управления - Программы и компоненты. Но если вашего пакета в списке установленных программ не оказалось то можно зайти в папку где находятся файлы пакета и запустить оттуда Uninstall.exe (или Unins000.exe). Во всех других случаях чистая деинсталляция невозможна, разве что вы будете вынуждены после сами вычищать реестр от мусора дворником типа CCleaner.
Вот в принципе и все. Такой обобщенный подход помогает мне сопровождать более половины программных толстых клиентов. Пока еще актуально, так как не все ушли в облака.)
Успехов.
Тут расписаны ключи инсталяторов http://www.oszone.net/2766
ReplyDelete