Некоторые рекомендации по сертификация приложений Compatible with Windows 7
Тестирование, сертификация приложений и получение логотипа Compatible with Windows 7 становятся все более популярным способом обеспечения совместимости приложений с новой версией операционной системы Microsoft – Windows 7. Благодаря несложной и бесплатной процедуре тестирования, десятки российских компаний уже проверили свои приложения и получили для них логотип Compatible with Windows 7. Ниже приведены некоторые рекомендации, которые позволят вам максимально быстро пройти набор тестов для получения логотипа Compatible with Windows 7.
Тестовый компьютер
-
Установите наиболее «старшую» 64-битную версию WIndows 7 (Ultimate или Enterprise)
-
Монитор должен поддерживать режим High DPI
-
Графический процессор и драйвер для него должны поддерживать Aero
Установка приложения
-
Убедитесь в том, что приложение запускается под той же учетной записью, под которой оно было установлено
-
Приложение должно устанавливаться только в корректные папки
-
Бинарные файлы (исполняемые файлы, библиотеки и т.п.) должны устанавливаться в %ProgramFiles% - это предотвращает появление лишних запросов на повышение привилегий и позволяет структурировать информацию на диске
-
Документы и другие данные должны храниться в %UserProfile% или %Public% - в зависимости от того, кому должны быть доступны эти данные – только конкретному пользователю (%UserProfile%) или всем пользователям (%Public%)
-
За исключением использования GAC, SxS, установки шрифтов и т.п. не используйте каталог system32
-
Приложение должно корректно реагировать на версию операционной системы
-
В реестре должны быть прописаны параметры для удаления приложения (Uninstall)
-
Эти параметры заносятся в Control Panel (Programs and Features) и используются для удаления приложений
-
Для проверки наличия параметров для удаления приложений следует проверить следующую ветвь реестра: HKLM\Software\Microsoft\Windows\CurrentVersion\
Uninstall\ и найти в не приложение
-
Должны быть заполнены следующие параметры:
-
DisplayName
-
InstallLocation
-
Publisher
-
UninstallString
-
VersionMajor
-
VersionMinor
-
Установка должна производиться на 64-битной системе
-
По завершении установки приложения не должна требоваться перезагрузка компьютера
Тестирование приложения
Проверка надежности приложения
- Поддержка 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
- Наличие подписанных бинарных файлов
- Убедитесь в том, что все бинарные файлы вашего приложения подписаны с помощью цифрового сертификата
- Из командной строки с повышенными привилегиями выполните следующую команду:
- signtool verify /pa /v “<App_Install_Directory>\<Executable>”
- Обратите внимание на сообщения об ошибках, выдаваемые утилитой signtool
- Поддержка обновления операционной системы
- После того как ваше приложение установлено, пользователи могут обновить версию операционной системы
- Установите приложение на WIndows Vista (или Windows XP)
- Выполните обновление операционной системы на Windows 7
- Убедитесь в работоспособности вашего приложения
- Убедитесь в том, что приложение по-прежнему корректно удаляется с компьютера
Если у вас возникают вопросы по тестированию или сертификации приложений под Windows 7, пожалуйста присылайте их по адресу: appcmpru@microsoft.com
P.S. Кросс-пост с Microsoft Russia ISV Team