Windows 7: Сертификация. Рекомендации по прохождению тестов
Мы продолжаем публиковать материалы по сертификации приложений под Windows 7 и получению логотипа Compatible with Windows 7, которую мы начали ответами на наиболее часто задаваемые вопросы. Здесь мы обсудим темы, связанные с непосредственным прохождением тестов и интерпретацией результатов тестирования.
Сертификация приложений может рассматриваться и как технологический процесс, и как маркетинговое средство, позволяющее расширить каналы продвижения вашего продукта.
С технологической точки зрения процесс сертификации предоставляет структурированный способ проверки базовых характеристик совместимости приложений с операционной системой. Используя бесплатные средства тестирования, предоставляемые Microsoft, могут использоваться как основа для создания методологии тестирования приложений – как для текущей, так и для последующей версии вашего продукта.
Помимо описанных выше технологических преимуществ, сертификация расширяет возможности по продвижению продукта и является оптимальным способом подтвердить компетенцию ISV/Software Solutions, т.к. успешное прохождение сертификации приносит компании 30 баллов для участия в партнерской программе Microsoft.
Процесс тестирования
Раздел «Clean, reversible, installation»
Наиболее частыми ошибками здесь являются отсутствие требуемых свойств приложений - DisplayName, InstallLocation, Publisher, UninstallString, VersionMajor* , VersionMinor* . Чаще всего это связано с использованием нестандартных, собственных программ установки. Проверить наличие свойств приложений можно в панели управления - Control Panel | Program and Features – для этого в списке установленных приложений необходимо включить отображение дополнительных колонок. Наличие свойств InstallLocation и UninstallString проверяется в реестре. Рекомендация – по возможности используйте стандартные средства установки, желательно на базе MSI. Также не забывайте о необходимости удалять все установленные компоненты.
Раздел « Install to the correct folders by default»
Здесь мы наиболее часто сталкиваемся с использованием каталогов %WINDIR% / %SystemDrive%, что крайне не рекомендуется. Одной из частых причин, как и в предыдущем разделе, является использование «старых» версий программ установки. Рекомендация – используйте каталог %AppData% для хранения данных приложений.
Раздел « Digitally sign files and drivers »
Наиболее частой ошибкой в этом разделе является то, что ряд компонентов приложений остается неподписанными. Напомним, что все бинарные компоненты ваших приложений должны быть подписаны сертификатом Microsoft Authenticode. В процессе тестирования можно использовать тестовый сертификат, созданный утилитой MakeCert. Также напомним, что компоненты сторонних производителей, включая компоненты компании Microsoft, подписывать не нужно.
Раздел «Support x64 versions of Windows»
Тестирование приложений должно производиться на 64-битной версии Windows 7. Пока среди приложений мы не сталкивались с ошибками при работе 32-битных приложений на 64-битной платформе – спасибо подсистеме WOW64, но будьте готовы к тому, что на этом шаге может выявиться использование старой, 16-битной версии программы установки приложений и ее придется заменить на более современную, 32-битную.
Раздел « OS version check»
Мы не сталкивались с какими-то проблемами на данном шаге, из чего можно сделать вывод, что приложения либо корректно проверяют версию ОС, либо вообще ее не проверяют. В любом случае, проверка версии ОС не дает полного представления о контексте, в котором работает приложение. Например, чтобы убедиться в наличии/отсутствии определенных функций Windows API, следует использовать пару функций LoadLibrary() /GetProcAddress() .
Раздел «Follow User Account Control (UAC) guidelines»
На этом шаге обнаруживаются приложения без манифеста. Напомним, что манифест может быть как внутренним (включенным в состав исполняемого файла в виде ресурса), так и внешним (что менее желательно). В манифесте обязательно должна присутствовать секция runLevel= с указаним уровня требуемых привилегий – asInvoker (рекомендуется) или requiresAdmin (если для запуска приложений требуются повышенные привилегии).
Раздел «Adhere to Restart Manager messages»
Один из разделов, тесты в котором приводят к результату «PASS WITH WARNING». Причин может быть много, включая, например, то, что приложение не успевает полностью запуститься перед срабатыванием механизма Restart Manager. Рекомендация - по возможности встроить обработку соответствующих сообщений Restart Manager в код вашего приложения, т.к. использование этого механизма чрезвычайно полезно за рамками прохождения сертификации под Windows 7
Раздел «Do not load Services and Drivers in Safe Mode»
Пока мы не видели ошибок в данном разделе тестов, но в качестве общей рекомендации – не загружайте драйвера и сервисы в режиме Safe Mode и, более того, если вы используете собственные сервисы и они не могут помочь компьютеру загрузиться быстрее, запускайте их в режиме Trigger-Start – тем самым вы сможете снизить нагрузку на процесс старта операционной системы.
Раздел « Support multiuser sessions»
Здесь часто встречаются предупреждения, вызываемые поддержкой работы приложений в режиме нескольких сессий. Напомним основные правила – приложения должны поддерживать такой режим, не должны сохранять данные в %USERS%, а использовать механизм разделения пользовательских профилей. Общие данные должны сохраняться в %COMMON_APPDATA%. Для тестирования используйте механизм Fast User Switching.
Результат тестирования - PASS WITH WARNING
Если вы получили предупреждения в результате тестирования вашего приложения – присылайте отчет, включенный в тело письма (не вложением – его не пропускают наши почтовые фильтры) по адресу isvrus@microsoft.com или непосредственно мне, Алексею Федорову по адресу alexeif@microsoft.com
Маркетинговые возможности
Помимо возможностей, упомянутых в FAQ, мы также готовы оказать вам помощь в подготовке пресс-релиза, можем подготовить вам письмо-подтверждение от Microsoft и оказать посильную помощь в дополнительных маркетинговых активностях по продвижению вашего сертифицированного продукта. Обращайтесь по адресу isvrus@microsoft.com.
Удачного прохождения сертификации!
/АФ