Windows 7
Рекомендации по обеспечению совместимости приложений. Часть 2
Платформа Windows Troubleshooting
Компонент Reliability Analysis
Утилита Problem Steps Recorder
Подготовка к сертификации приложений
Шаги по прохождению сертификации
В предыдущем номере нашего журнала мы обсудили ряд важных для разработчиков изменений, которые произойдут в операционной системе Windows 7. В настоящей статье мы рассмотрим полезные утилиты для тестирования приложений и сбора информации об их работе, а также программу сертификации приложений на совместимость с Windows 7.
Полезные утилиты
В процессе тестирования приложений и сбора информации об их работе можно воспользоваться рядом утилит, краткое описание которых приведено ниже.
Application Verifier
Утилита Application Verifier позволяет выполнить тестирование приложения на соответствие ключевым рекомендациям по созданию совместимых приложений и получить детальный протокол действий, выполняемых приложением, — наличие отладочной информации поможет исправить обнаруженные ошибки. Статистика, собранная специалистами Microsoft по результатам анализа дампов на сайте WinQual, показывает, что более 68% всех сбоев приложений можно было бы избежать, если воспользоваться утилитой Application Verifier и применить на практике результаты мониторинга приложений.
Утилита Troubleshooter Builder
Дополнительно об утилите Application Verifier можно прочесть по адресам:
- Debugging Tools for Windows — http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx;
- Application Verifier: http://msdn.microsoft.com/en-us/library/ms644353.aspx, http://www.microsoft.com/downloads/details.aspx?FamilyID=bd02c19c-1250-433c-8c1b-2619bd93b3a2&DisplayLang=en;
- WinQual — https://winqual.microsoft.com;
- Windows Error Reporting — http://www.microsoft.com/whdc/maintain/StartWER.mspx.
Платформа Windows Troubleshooting
В Windows 7 появилась возможность создания так называемых Troubleshooter Packs — пакетов для решения возникающих проблем при использовании программного обеспечения. Помимо встроенных в систему пакетов для решения наиболее часто встречающихся проблем (они доступны через Action Center и при необходимости автоматически догружаются с сайта Microsoft), у разработчиков есть возможность создания собственных пакетов.
Для создания пакетов используется утилита Troubleshooter Builder, которая входит в состав Windows SDK и находится по адресу %sdkdir%\bin\tspbuilder\builder.exe. С помощью утилиты Troubleshooter Builder создается проект, в котором описываются условия выбора пакета исправлений и действия, выполняемые пакетом. Код, вносящий исправления в систему, пишется на PowerShell.
Компонент Reliability Analysis
Компонент операционной системы, известный под названием Reliability Analysis Component (RAC), предоставляет информацию для утилиты Reliability Monitor, с помощью которой вычисляется индекс стабильности системы (System Stability Index). Индекс стабильности системы — это число от 1 (наименее стабильная) до 10 (наиболее стабильная), и его «вес» высчитывается на основании числа специфических сбоев, произошедших в системе за указанный период. Соответствующие события — Reliability Events и отчет о стабильности системы — System Stability Report содержат более подробную информацию о сбоях.
Как мы уже отметили, RAC содержит данные о наборе событий, описывающие стабильность системы. Эти данные хранятся в Windows Management Instrumentation (WMI) — записях в Win32_ReliabilityStabilityMetrics и Win32_ReliabilityRecords. При необходимости к ним можно обратиться из кода, написанного, например, на PowerShell.
Для доступа к Reliability Monitor необходимо использовать такую последовательность действий:
Start > Control Panel
System and Security > Action Center
Maintenance > View System History
Утилита Problem Steps Recorder
При возникновении проблем с применением системного или прикладного программного обеспечения и запуском отдельных компонентов системы можно воспользоваться специальной утилитой, которая позволит подробно записать шаги, приводящие к возникновению проблемы, и соответствующие действия пользователя. Данная утилита называется Problem Steps Recorder и располагается по адресу: %windir%\system32\psr.exe. Результат работы данной утилиты — MHT-файл со снимками экранов и комментариями, упакованный в ZIP-архив, который можно отправить в Microsoft средствами Windows Error Reporting.
Reliability Monitor
Подготовка к сертификации приложений
С выходом Windows 7 станет доступна программа сертификации приложений, которая представляет собой дальнейшее развитие программы сертификации приложений под Windows XP и Windows Vista. Программа сертификации направлена на обеспечение совместимости, надежности и безопасности приложений и гарантирует соответствие сертифицированных приложений стандартам Windows. Для систем, устройств и прикладных программ будет использоваться один логотип.
Процесс получения сертификации существенно упрощен: больше не требуется передавать приложение на тестирование в стороннюю организацию, поскольку все действия выполняются непосредственно в компании — разработчике программного обеспечения с применением специального набора утилит для тестирования. Дополнительная информация по сертификации приложений будет доступна на сайте http://www.innovateonwindows.com/logo.
Логотип для приложений
Несколько рекомендаций по сертификации приложений:
- сертификация под Windows Vista гарантирует совместимость с Windows 7;
- начните с учета требований к сертифицируемым приложениям;
- включите эти требования в процесс разработки и тестирования.
Обзор программы сертификации
Сертифицируемые приложения должны отвечать следующим критериям:
- они должны быть самостоятельными Windows-приложениями — то есть приложениями, выполняющимися в отдельном процессе Windows 7. К таким приложениям, в частности, относятся приложения, требующие наличия на компьютере других приложений;
- приложения должны выполняться на локальном компьютере под управлением Windows 7;
- примеры приложений, соответствующих приведенным критериям:
- Windows 7-приложение, требующее наличия на компьютере Outlook 2007,
- приложение на Java или .NET,
- Windows 7-приложение, требующее наличия привода оптических дисков,
- Windows 7-приложение, требующее соединения с сервером;
- примеры приложений, не соответствующих приведенным выше критериям:
- веб-приложение,
- расширение для веб-браузера,
- компонент Microsoft Management Console (MMC),
- драйвер для аппаратного компонента,
- библиотека и среда для разработчиков, например Java, .NET, Adobe AIR и т.п.;
- компоненты приложения (отдельные файлы или приложения), требующиеся для его выполнения, также должны отвечать критериям сертификации;
- дополнительные компоненты, по возможности, должны отвечать критериям сертификации;
- не требуется тестирование компонентов Windows. К таким компонентам относятся:
- все компоненты, входящие в комплект операционной системы,
- все компоненты, доступные через Windows Update,
- Windows Platform SDK.
Примечание: другие компоненты производства Microsoft, включая Microsoft Visual Studio и Microsoft Office, не являются Windows-компонентами.
Шаги по прохождению сертификации
- Загрузить и установить Windows 7 Client Software Logo Toolkit.
- Выполнить проверку приложения с помощью Windows 7 Client Software Logo Toolkit.
- Убедиться в том, что приложение успешно прошло проверку.
- Подписать необходимые документы.
- Согласиться/отказаться от рассылок Microsoft, связанных с вашим продуктом.
- Переслать в Microsoft копию вашего приложения.
- Передать в Microsoft результаты тестирования вашего приложения.
Требования к приложениям
Список требований к сертифицируемым приложениям:
- не распространяйте вредоносное ПО (malware, spyware и т.п.) — подробнее: http://www.antispywarecoalition.org/;
- не изменяйте ресурсы, защищенные с помощью средств Windows Resource Protection, — подробнее: http://msdn.microsoft.com/en-us/library/aa382503(VS.85).aspx;
- используйте механизмы Windows Error Reporting, тестируйте приложения с помощью Application Verifier, зарегистрируйтесь на портале WinQual — подробнее:
- WER: http://msdn.microsoft.com/en-us/isv/bb190483.aspx,
- Application Verifier: http://msdn.microsoft.com/en-us/library/ms220948.aspx,
- WinQual: https://winqual.microsoft.com/;
- применяйте «чистую» установку и удаление — подробнее: http://msdn.microsoft.com/en-us/library/aa372105.aspx;
- используйте подписанные файлы и драйверы;
- устанавливайте приложение в корректные папки;
- поддерживайте Windows x64 — подробнее: http://msdn.microsoft.com/en-us/library/bb427430(VS.85).aspx;
- корректно проверяйте версию ОС;
- соответствуйте требованиям UAC — подробнее: http://msdn.microsoft.com/en-us/library/aa905330.aspx, http://msdn.microsoft.com/en-us/library/bb756973.aspx;:
- применяйте механизмы Restart Manager — подробнее: http://msdn.microsoft.com/en-us/library/aa373524.aspx;
- не загружайте драйверы/сервисы в режиме Safe Mode — подробнее: http://msdn.microsoft.com/en-us/library/aa489541.aspx;
- не требуйте перезагрузки после установки;
- поддерживайте многопользовательские сессии — подробнее: http://msdn.microsoft.com/en-us/library/aa383490(VS.85).aspx:
Помимо приведенных выше рекомендаций, следует корректно использовать основные возможности операционной системы, включая ассоциации с программами по умолчанию, поддержку режима High DPI, работу с Unicode и обеспечение безопасности.
Материалы по сертификации
- Windows 7 Software Logo Requirements — http://go.microsoft.com/?linkid=9630189;
- Windows 7 Client Software Logo Toolkit (WCSK) — https://connect.microsoft.com/Downloads/DownloadDetails.aspx?SiteID=831&DownloadID=19072;
- информация по Windows 7 Logo:
- http://www.innovateonwindows.com/logo,
- http://msdn.microsoft.com/en-us/windows/default.aspx.?