Некоторые рекомендации по сертификация приложений Compatible with Windows 7
Тестирование, сертификация приложений и получение логотипа Compatible with WIndows 7 становятся все более популярным способом обеспечения совместимости приложений с новой версией операционной системы Microsoft – Windows 7. Благодаря несложной и бесплатной процедуре тестирования, десятки российских компаний уже проверили свои приложения и получили для них логотип Compatible with WIndows 7. Ниже приведены некоторые рекомендации, которые позволят вам максимально быстро пройти набор тестов для получения логотипа Compatible with WIndows 7. |
Тестовый компьютер
- Установите наиболее «старшую» 64-битную версию WIndows 7 (Ultimate или Enterprise)
- Тестовые утилиты поддерживают только 64-битные версии операционной системы, тестируемые приложения могут быть как 32-битными, так и 64-битными
- Монитор должен поддерживать режим High DPI
- Графический процессор и драйвер для него должны поддерживать Aero
- Для поддержки Aero компьютер должен отвечать следующим требованиям:
- 32- или 64-битный процессор с частотой не ниже 1ГГц
- 1Гбайт системной памяти
- Графическая карта должна поддерживать DirectX 9 и иметь не менее 128 Мбайт памяти
- Графическая карта должна поддерживать Pixel Shader 2.0 и Windows Display Driver Model (WDDM)
- Должна быть установлена цветность дисплея 32 бита на пиксель
- Должна быть включена опция Desktop Composition
- Тесты Windows Experience Index (WEI) должны показывать как минимум 2.0 для разделов Graphics & Gaming graphics
- Для поддержки Aero компьютер должен отвечать следующим требованиям:
Установка приложения
- Убедитесь в том, что приложение запускается под той же учетной записью, под которой оно было установлено
- Запустите Task Manager, на вкладке Processes найдите приложение, в колонке User Name найдите имя учетной записи
- Приложение должно устанавливаться только в корректные папки
- Бинарные файлы (исполняемые файлы, библиотеки и т.п.) должны устанавливаться в %ProgramFiles% - это предотвращает появление лишних запросов на повышение привилегий и позволяет структурировать информацию на диске
- Документы и другие данные должны храниться в % UserProfile% или % Public% - в зависимости от того, кому должны быть доступны эти данные – только конкретному пользователю ( % UserProfile% ) или всем пользователям ( % Public% )
- За исключением использования GAC, SxS, установки шрифтов и т.п. не используйте каталог system32
- Приложение должно корректно реагировать на версию операционной системы
- Для проверки используйте Application Verifier c параметром –hiversionlie:
- Avrf –hiversionlie myapp.exe
- Этот параметр увеличивает номер версии на 2.2 – 6.1 становится 8.3
- Для проверки используйте Application Verifier c параметром –hiversionlie:
- В реестре должны быть прописаны параметры для удаления приложения (Uninstall)
- Эти параметры заносятся в Control Panel (Programs and Features) и используются для удаления приложений
- Для проверки наличия параметров для удаления приложений следует проверить следующую ветвь реестра: HKLM\Software\Microsoft\Windows\CurrentVersion\
Uninstall\ и найти в не приложение - Должны быть заполнены следующие параметры:
- DisplayName
- InstallLocation
- Publisher
- UninstallString
- VersionMajor
- VersionMinor
- Установка должна производиться на 64-битной системе
- По завершении установки приложения не должна требоваться перезагрузка компьютера
Тестирование приложения
- Убедитесь в том, что в манифесте приложения указан параметр requestedExecutionLevel
- Приложение должно работать в режиме Standard User
- Параметр requireAdministrator требует повышения привилегий
- Параметр asInvoker поддерживает режим Standard User
- Отсутствие параметра requestedExecutionLevel приводит к включению механизмов обеспечения совместимости:
- Перенаправление операций с файлами и реестром
- Определение программ установки
- Вызов Program Compatibility Assistant
- Для проверки содержимого манифеста либо посмотрите содержимое внешнего манифеста – myapp.exe.manifest, либо используйте утилиту sigcheck.exe (можно загрузить с сайта technet.microsoft.com) с параметром –m:
- Sigcheck –m myapp.exe
- Проведите тестирование приложения в режиме Standard User
- Выполните тестовый сценарий или набор операций, которые позволят убедиться в том, что приложение работает корректно под стандартной учетной записью
- Приложение не должно изменять системные настройки
- Системные настройки защищены механизмом Windows Resource Protection
Проверка надежности приложения
- Поддержка Restart Manager
- Restart Manager позволяет избежать лишних перезагрузок системы в тех случаях, когда процесс “захватил» тот или иной ресурс
- Restart Manager выполняет перезагрузку приложения, а не всей системы
- Для проверки поддержки Restart Manager выполните следующие действия:
- Запустите приложение
- В Task Manager получите его PID (Process ID)
- Вызовите утилиту Restart Manager Tool – rmtesttool в качестве параметра указав PID вашего приложения
- Убедитесь в отсутствии сообщений об ошибках
- Тестирование под Application Verifier
- Application Verifier используется для тестирования и обнаружения ошибок, «невидимых» для других тестов
- Обычно Application Verifier используется совместно с Windbg
- Из командной строки с повышенными привилегиями запустите windbg с параметром –I
- В Application Verifier включите тесты Exceptions, Handles, Heaps, Locks, Memory, TLS из группы Basics Checks
- Включите тесты DangerousAPIs и DirtyStacks из группы Miscelaneous
- Запустите ваше приложение
- Исследуйте каждое переключение в windbg
- Windows Error Reporting
- Обрабатывайте только “известные» исключения
- Для тестирования Windows Error Reporting выполните следующие действия:
- Запустите ваше приложение
- Из командной строки с повышенными привилегиями запустите ThreadHijacker:
- · Threadhijacker.exe /ui /crash:av /process:myapp
- Откройте журнал Application Event Log
- Убедитесь в том, что для вашего приложения указаны Application Error (Error) и Windows Error Reporting (Information)
Поддержка Fast User Switching, Remoting и Terminal Services
- Приложения должны работать в режиме Fast User Switching
- На одном компьютере могут быть одновременно активны несколько пользовательских сессий
- Экземпляры приложения не должны конфликтовать друг с другом
- Звук в одной сессии не должен быть слышен в другой сессии
- Приложения должны запускаться и корректно работать через Remore Desktop
- Удаленный доступ к компьютеру является довольно часто используемым сценарием работы пользователей
- Если приложение не поддерживает удаленный доступ, оно должно сообщить об этом пользователю и корректно завершить свою работу
- Убедитесь в том, что пользователи не могут изменять документы и файлы других пользователей
- Приложения должны поддерживать работу с документами и файлами только одного пользователя
- Если приложение позволяет создавать и сохранять документы, выполните основные операции под одной учетной записью
- Переключитесь на другого пользователя и попробуйте открыть документы, созданные на предыдущем шаге
Поддержка High DPI и Aero
- Основные симптомы несовместимости с High DPI:
- «Обрезанные» интерфейсные элементы или текст
- Некорректные размеры шрифтов или расположение элементов
- Смазанные интерфейсные элементы
- Текст, отображаемый в виде пикселей
- Неверные координаты, например, кнопки, которые не нажимаются
- Для тестирования в режиме High DPI выполните следующие действия:
- В Control Panel в разделе Appearance and Personalization | Display выберите команду Set custom text size (DPI) и измените DPI на 120 или 144 (125% или 150% соответственно)
- Запустите приложение и выполните тестовый сценарий, максимально используя все интерфейсные возможности приложений
- Обратите внимание на все некорректные отображения интерфейсных элементов
- Для тестирования поддержки Aero выполните следующие действия:
- Убедитесь в том, что Aero включено (например, в Performance Options должна быть включена опция Desktop Composition)
- Запустите приложение
- Убедитесь в том, что Aero все еще включено
- Проверьте отображение интерфейса вашего приложения, например попытайтесь быстро подвигать окно вашего приложения по экрану и убедитесь в том, что оно корректно отрисовывается
Дополнительные рекомендации
- Поддержка платформы x64
- Для 64-битной платформы требуется наличие только 64-битных драйверов
- 16-битная система не поддерживается
- Код для x86 работает под управлением подсистемы Windows on Windows
- Использование имен файлов в формате 8.3
- Имена файлов в формате 8.3 поддерживаются только для обеспечения совместимости с приложениями, написанными для предыдущей версии операционной системы
- Для проверки работы вашего приложения выполните следующие действия:
- Отключите поддержку имен файлов в формате 8.3:
- · fsutil.exe behavior set disable8dot3 1
- Проверьте работу вашего приложения в части работы с файлами
- Включите поддержку имен файлов в формате 8.3:
- fsutil.exe behavior set disable8dot3 0
- Отключите поддержку имен файлов в формате 8.3:
- Наличие подписанных бинарных файлов
- Убедитесь в том, что все бинарные файлы вашего приложения подписаны с помощью цифрового сертификата
- Из командной строки с повышенными привилегиями выполните следующую команду:
- signtool verify /pa /v “<App_Install_Directory>\<Executable>”
- Обратите внимание на сообщения об ошибках, выдаваемые утилитой signtool
- Поддержка обновления операционной системы
- После того как ваше приложение установлено, пользователи могут обновить версию операционной системы
- Установите приложение на WIndows Vista (или Windows XP)
- Выполните обновление операционной системы на Windows 7
- Убедитесь в работоспособности вашего приложения
- Убедитесь в том, что приложение по-прежнему корректно удаляется с компьютера
- После того как ваше приложение установлено, пользователи могут обновить версию операционной системы
Если у вас возникают вопросы по тестированию или сертификации приложений под Windows 7, пожалуйста присылайте их по адресу: appcmpru@microsoft.com
АФ
Comments
- Anonymous
August 31, 2009
Добрый день. Я сделал запрос на appcmpru@microsoft.com, ответа нет два дня. Как долго обычно обрабатывается корреспонденция ?