Совместимость программного обеспечения. Тема 1

1.

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Санкт – Петербургский государственный университет телекоммуникаций
им. проф. М.А. Бонч-Бруевича»
Специальность: 09.02.05 «Прикладная информатика (по отраслям)»
ПМ.03. СОПРОВОЖДЕНИЕ И ПРОДВИЖЕНИЕ ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ ОТРАСЛЕВОЙ НАПРАВЛЕННОСТИ
Раздел 2. Настройка программного обеспечения отраслевой направленности
Преподаватель
Рожков А.И.
Санкт-Петербург 2022

2.

Лекция. Совместимость ПО
План занятия:
1. Метод решения проблем совместимости – использование DLL (динамически загружаемых
библиотек).
2. Механизм решения проблем совместимости на основе «системных заплаток»: расширенный
инструментарий обеспечения совместимости Microsoft Application Compatibility Toolkit
3. Выбор методов решения проблем совместимости на основе анализа.

3.

1. Метод решения проблем совместимости – использование
DLL (динамически загружаемых библиотек)
Динамические исполняемые библиотеки (DLL) представляют собой специальные
программные компоненты, которые позволяют обращаться к одному файлу сразу
нескольким приложениям. Основным предназначением таких библиотек является
расширение возможностей утилит и экономия места, поскольку для использования
аналогичных компонентов можно иметь всего одну версию файла, которая будет делиться
между всеми программами
DLL – это файлы системных библиотек в Windows. Формально они являются
исполняемыми, но запустить их по отдельности не получится.
Библиотеки используются другими программами для выполнения стандартных
функций сохранения, удаления, печати. К примеру, когда в одной из программ вы
запускаете опцию печати, приложение автоматически подгружает отвечающий за эту
функцию файл DLL.
Иногда в процессе работы программы появляются системные сообщения о том, что
произошла неполадка в работе файла библиотеки. После этого приложение завершает свою
работу или вы не можете выполнить определенную функцию.

4.

Причины ошибок в работе библиотек DLL Windows
Так как каждая библиотека отвечает за конкретную функцию, причина ошибки зависит
от того, какой файл DLL не отвечает. Наиболее частая неполадка происходит с Windows.dll –
это главная системная библиотека, отвечающая за запуск всех приложений и самой
операционной системы.
Типы ошибок DLL:
«Файл не найден». Возможно, удалена нужная библиотека, переименована или
перемещена в другое место на жестком диске;
«Файл отсутствует». Такое сообщение появляется в том случае, если система не может
найти нужный объект на диске и часто причиной такой ошибки является работа
вредоносного ПО, которое заменило программный код в библиотеке;
«Нарушение прав доступа к файлу». С этим типом неполадки сталкиваемся при
попытке включения ПО. Вместо запуска работ ПО система выдает сообщение о
невозможности получения доступа к библиотеке;
«DLL не удалось зарегистрировать» — это означает, что произошла фатальная ошибка
при установке приложения. Устранить неполадку поможет повторная инсталляция ПО.
Большинство ошибок DLL в Windows появляется из-за установки пиратской версии ОС.
Как правило, в модифицированных сборках используются вредоносные библиотеки, с
которыми не могут взаимодействовать другие приложения.

5.

Причины появления проблем с файлами DLL:
Случайное удаление файла. Часто при попытке очистить жесткий диск Windows от
ненужных файлов пользователи по незнанию удаляют файлы библиотек. Также,
деинсталлировать файл может другая программа (вредоносное ПО или утилита для
автоматической очистки диска);
Отказ оборудования. Если для установки или запуска ПО используется оптический диск
и дисковод, при некачественном материале одного из компонентов может появиться
фатальная ошибка, которая повреждает файл запуска с расширением DLL;
В системе не установлены последние обновления. Рекомендуется устанавливать
новейшие версии ОС. Это позволяет избавиться от проблем не только с библиотеками, но и
с ошибками, которые они провоцируют. Также, обновления защищают систему. Она
становиться менее подвержена действию вирусов;
Проблемы с драйверами. Когда для конкретной программы или внешнего устройства,
которое она использует, не установлены последние версии драйверов, пользователь
сталкивается со всевозможными ошибками ОС.
Несовместимость технических требований ПО и характеристик компьютера. В таком
случае, нужно выбрать другую более старую версию приложения и переустановить его или
же обновить используемую сборку ОС.

6.

Исправление ошибок DLL Windows
Способ 1 – Ошибочное удаление файла DLL
Если после открытия приложения ничего не происходит, а через несколько секунд
появляется сообщение «ошибка msvcr100 DLL» или «ошибка msvcp120 DLL», это означает, что
на компьютере нет нужной библиотеки.
Возможно, она не была установлена вместе с ОС или файл был удален другой
программой. Системное окно с ошибкой выглядит следующим образом:

7.

1.
Для начала нужно открыть папку жесткого диска С и в графе поиска вписать название
нужного DLL. - Возможно библиотека просто перемещена в другую папку. Исправить
проблему поможет её помещение в директорию:
• C\Windows\System32 (для 32-х разрядный версий ОС)
• C\Windows\SysWoW64 (для 64-х разрядных сборок).
2.
В случае, если на диске «С» вы не нашли нужный файл, на сайте Майкрософт нужно
скачать апдейт для программного пакета Visual C++. Эта утилита настраивает
взаимодействие всех системных файлов и исправляет существующие ошибки. После
инсталляции обновления перезагрузите компьютер и попробуйте повторно запустить
программу. Если этот вариант решение не помог, переходите к следующему методу.

8.

Способ 2 – Запуск среды восстановления
Один из способов быстрого исправления всех ошибок системы – это использование
утилиты восстановления.
1.
Откройте окно параметров нажатием клавиш Win-I (для Win 10).
2.
Затем откройте вкладку «Обновление и безопасность» - «Восстановление».
3.
В правой части окна промотайте страничку вниз и в разделе «Особые варианты
загрузки» кликните на «Перезагрузить сейчас».
4.
После выбора особых вариантов загрузки и повторного запуска компьютера вы увидите
не рабочий стол системы, а специальное окно Поиск и устранение неисправностей
(Troubleshooting). Кликните на указанную ниже плитку, чтобы запустить автоматическое
сканирование и исправление

9.

5. После повторной перезагрузки ОС ошибки будут исправлены. Пользовательские файлы
удалены не будут.
В Windows 7 недоступна возможность автоматического исправления в режиме
перезагрузки, но можно запустить встроенную утилиту диагностики.
Для этого зайдите в окно панели управления и в строке поиска введите «Средство
проверки». Кликните на первый результат поисковой выдачи. Следуйте инструкции в окне
встроенного помощника для выявления проблем и их исправления.

10.

Способ 3 – Установка отсутствующих DLL и обновление программ
Если в Windows XP, 7, 10 возникла ошибка Kernel32 DLL, рекомендуется переустановить
файл вручную. На веб-сайте разработчика пользователи могут только загрузить пакет
программ для комплексного восстановления системных файлов.
1.
Если ваша ОС работает нормально, а проблемы возникли только с одной библиотекой,
рекомендуется найти в сети и скачать на компьютер нужный файл вручную. Важно
помнить, что не следует ничего скачивать из подозрительных ресурсов, а перед
помещением файла в системную папку его нужно обязательно просканировать
встроенным брандмауэром и еще одним установленным в системе антивирусом.
2.
Скаченный файл библиотеки поместите в системную папку System32 или SysWOW64, в
зависимости от разрядности установленной копии ОС. При следующем открытии
программы ошибка исчезнет.
Часто даже после многократной замены файла библиотеки не удается избавиться от
ошибок запуска или работы программы. Это говорит о том, что в системе установлена
несовместимая версия прикладного приложения.

11.

Способ 4 – Переустановка приложения Еще один способ решения – это простая
переустановка программы. Возможно, после возникновения проблем с DLL утилита не
«видит» нового файла библиотеки, поэтому необходимо деинсталлировать программу. Затем
перезагрузите компьютер, установите ПО еще раз и попробуйте запустить его. Новая
библиотека должна распознаться без проблем.
Способ 5 – Обновление драйверного ПО Обновление драйверного ПО позволяет
устранить ошибки несовместимости установленных программ, аппаратного оборудования и
операционной системы.
Рассмотрим, как исправить ошибку HAL DLL в Windows 7, 10, т.к. именно этот тип
неполадки появляется из-за несовместимости компонентов:
1.
Необходимо установить последние обновления для всех компонентов ОС. Зайдите в
Диспетчер устройств ОС. В седьмой версии это можно сделать с помощью окна Панели
управления, в десятой версии нужно воспользоваться окном поиска по системе.
2.
В окне Диспетчера кликните правой кнопкой мышки на названии компьютера, а затем
выберите поле «Обновить конфигурацию». Для установки новых версий драйверов на
компьютере должно быть установлено соединение с интернетом.
Способ 6 – Удаление вирусов Просканируйте систему встроенным Защитником или
другим установленным антивирусом. Если в результате сканирования обнаружится, что вирус
— это и есть ошибочная библиотека, удалите её с компьютера и загрузите пакет обновления
Visual C++ на сайте Майкрософт.

12.

2. Механизм решения проблем совместимости на
основе «системных заплаток»: расширенный
инструментарий обеспечения совместимости Microsoft
Application Compatibility Toolkit
Самый распространенный метод решения проблем совместимости – это
использование DLL (динамически загружаемых библиотек), которые перехватывают
«проблемные» вызовы системных функций. Эти библиотеки нередко называют
«системными заплатками». Во многих случаях этого метода вполне достаточно для
решения проблемы совместимости.
Механизм решения проблем совместимости на основе «системных заплаток»
реализован в операционных системах Windows Vista, Windows 7 и последующих версиях.
Для запуска приложений система может эмулировать одну из предыдущих версий Windows.
Для активации данного режима не требуется специализированное обслуживание
компьютеров, достаточно активировать данную опцию в свойствах исполняемого файла.
При выборе режима совместимости для приложения включается набор системных
«заплаток», которые эмулируют выбранную версию операционной системы.

13.

Несмотря на усилия, прилагаемые компанией Microsoft, некоторые производители
программного обеспечения продолжают:
• Использовать устаревшие функции операционной системы, некорректно выполняют
операции по проверке версий ОС (более 50% всех отказов в запуске приложений),
• Не следуют рекомендациям по работе с файловой системой
• Не руководствуются советами по обеспечению корректной работы приложений в
новых версиях системы.
Все это приводит к тому, что уже в операционной системе Microsoft Windows Vista
присутствовало более 5600 «системных заплаток» (shims) для обеспечения корректной
работы приложений различных производителей – от утилит китайских производителей до
крупных продуктов известных фирм. В Windows 7 число «системных заплаток» увеличилось и
превышает 5700! И с каждой новой ОС количество только возрастает.
Но не всегда запуска приложения в режиме совместимости достаточно для решения
проблемы. Существует расширенный инструментарий обеспечения совместимости.
Например, Microsoft Application Compatibility Toolkit – набор, который позволяет
проанализировать запросы программы к ОС и на основании этого анализа выбрать и
протестировать «системные заплатки».

14.

Использование подобных утилит позволяет, с одной стороны, упростить обслуживание
компьютеров, а с другой - увеличить вероятность корректного решения проблемы
совместимости.
Application Compatibility Toolkit – бесплатный программный продукт, созданный
компанией Microsoft для облегчения задачи сбора информации о совместимости
программного и аппаратного обеспечения с такими операционными системами как
Windows Vista и Windows 7/8/10. Этот набор утилит предназначен для настройки
совместимости старых приложений с новой версией операционной системы Windows и
является помощником по переходу на новую операционную систему Windows.
Данное приложение представляет собой клиент-серверную архитектуру:
• Клиентом выступает компьютер, на котором работает один из компонентов АСТ,
осуществляющий сбор информации об установленном программном обеспечении и
его совместимости с Windows, и о совместимости аппаратного обеспечения
компьютера клиента.
• Серверная часть производит прием данных, их чтение, хранение и анализ. Хранение
данных осуществляется с помощью базы данных MS SQL, обработка – с помощью
модулей входящих в состав ACT

15.

ACT помогает определить совместимы ли Ваши приложения с ОС, а также помогает
определить, как будут влиять на Ваши приложения апгрейды.
Так же функции ACT могут использоваться для:
• Проверки своих приложений, устройств и компьютера на совместимость с новой
версией операционной системы Windows
• Проверки совместимости обновления Windows
• Подключения в сообщество ACT и совместной оценки риска с другими пользователями
ACT
• Тестирования своих Веб-приложений и Веб-сайтов на возможность проблем
совместимости с новыми выпусками и обновлениями системы защиты Internet Explorer.
Пакет инструментов для обеспечения совместимости приложений Application
Compatibility Toolkit, что на русском звучит как Набор средств для обеспечения
совместимости приложений содержит 5 различных инструментов, цель которых одна —
выявление возможных проблем в программном обеспечении на другой операционной
системе
Загрузить ACT и документацию к этому продукту можно с сайта Microsoft

16.

Загрузив пакет, перед установкой необходимо установить SQL сервер и .Net Framwork
Установка осуществляется с помощью мастера. Во время установки необходимо задать
следующие параметры:
• SQL сервер и создать базу, в
которой
будет
храниться
информация.
• Учетные записи пользователя,
имеющего право запускаться
в качестве службы и имеющие
доступ на запись в SQL базу.
• Папку общего доступа, для
хранения лог файлов.

17.

По окончании установки ACT в наше распоряжение попадает:
1. Application Compatibility Manager (ACM) – утилита позволяющая собирать, хранить и
анализировать информацию поступающую от клиентов. Диспетчер совместимости
приложений и есть основная утилита из данного пакета. Данная утилита сканирует систему
и выводит отчет о возможных проблемах совместимости при переходе на другую
операционную систему.
Так же, эта утилита имеет
связь с базой данных Microsoft
SQL Server, куда при желании
может скинуть отчеты. Поэтому
данная
утилита
особенно
полезна внутри организации для
системных администраторов, так
как
выдаст
возможные
проблемы в структурированном
виде и, причем, сразу для всех
компьютеров в сети.

18.

2. Compatibility Administrator - Администратор совместимости. Следующим шагом после
поиска возможных проблем является решение этих проблем. Compatibility Administrator
позволяет создать свои собственные исправления, режимы совместимости и базы данных
совместимости для решения таких проблем.
Вся
прелесть
данного
инструмента
раскрывается
в
условиях
администрирования
локальной сети. После того, как
будут созданы исправления и
режимы
совместимости
для
определенных
приложений,
данная
утилита
будет
перехватывать
запуск
этих
приложений и модифицировать их
или запускать в необходимом
режиме. А благодаря встроенной
базе совместимости для некоторых
приложений, ручная работа для
администратора
может
быть
сведена к минимуму.

19.

3. Internet Explorer Test Tool (IECTT). Данный инструмент протестирует веб-сайты и вебприложения из внутренней сети на предмет их совместимости с версией Internet Explorer,
которая идет вместе с операционной системой.

20.

4. Setup Analysis Tool (SAT). Данный инструмент полностью отслеживает все действия,
которые будут производится при установке программы. Результатом работы утилиты будет
отчет о возможных проблемах с установкой.
5. Standart User Analyser (SUA). Данный инструмент проанализирует все возможные
проблемы, связанные с правами доступа пользователя, которые могут возникнуть при
работе с программой и определит проблемы совместимости, возникающие при запуске
приложения под стандартной учетной записью обычного пользователя.

21.

3. Выбор методов решения проблем совместимости на
основе анализа
После определения несовместимых приложений необходимо принять попытку по
полному устранению проблем или, хотя бы, по уменьшению последствий.
Для обеспечения совместимости приложений необходимо выполнить:
• Определить наиболее значимые приложения.
• Определить проблемы совместимости.
Уменьшение проблем с совместимостью приложения обычно зависит от различных
факторов, таких как тип приложения и текущей поддержки приложения.
Общие методы уменьшение проблем с совместимостью приложений включают:
1.
Изменение конфигурации существующего приложения: Вы можете использовать
инструменты, Compatibility Administrator или Standard User Analyzer, для обнаружения
проблемы и создания исправления данного приложения, что решит проблему
совместимости.

22.

2.
Применение обновлений или пакетов обновлений ОС: это может помочь решить
многие из проблем с совместимостью и дать возможность приложению работать в
новой среде операционной системы.
3.
Апгрейд приложения до совместимого релиза: если более новая, совместимая версия
приложения существует, лучшее решение — обновить до более новой версии.
4.
Изменение конфигурации безопасности: как пример, Защищенный режим Internet
Explorer может быть смягчен, добавив сайт в список надежных сайтов или выключив
Защищенный режим (что не рекомендуется).
5.
Запуск приложения в виртуализированной среде: если все другие методы недоступны,
для решения проблем вы можете запустить приложение в более раннем релизе
Windows, используя инструменты виртуализации, такие как PC Microsoft Virtual,
Microsoft Virtual Server и т.п.
6.
Использование функций совместимости приложения: проблемы приложения, такие
как управление версиями операционной системы, могут быть смягчены, запуском
приложения в режиме эмуляции (режим совместимости с предыдущей версией ОС).
7.
Выбор другого приложения, которое выполняет ту же самую функцию, но не имеет
проблем с совместимостью: если другое совместимое приложение доступно, вы
можете использовать его.

23.

Для закрепления изученного материала ответьте в
СДО на контрольные вопросы
«КР_Совместимость ПО»
English     Русский Правила