Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Сегодня, на московском форуме “Microsoft Innovation Day” мы начали обсуждать тему использования Windows 7 как платформы для работы приложений. Приведенные ниже заметки могут оказаться полезными как тем, кто посетил данное мероприятие (или мероприятия в других городах, которые пройдет в октябре-декабре этого года, расписание см. здесь ), так и тем, кто интересуется вопросами использования WIndows 7 для разработки приложений.
Мы отметили, что в первую очередь, нужно говорить о модернизации существующих приложений – инженерной задачи, которую можно разделить на 3 группы подзадач:
- Совместимость
- Стабильность
- Функциональность
Совместимость
Группа «Совместимость» включает в себя действия по обеспечению работоспособности приложений при переносе их с Windows XP на Windows Vista и Windows 7, или, минуя Windows Vista, с Windows XP на Windows 7. Здесь также следует упомянуть и необходимость решения такой задачи, как «Преемственность» - т.е. обеспечение работоспособности приложений на всех существующих версиях операционной системы - Windows XP, Windows Vista и Windows 7.
Очень кратко, ключевые вопросы совместимости сводятся к:
- Проверке версии ОС
- Рекомендуется не проверять версию ОС без реальной необходимости
- Проверяйте издание операционной системы и включенные компоненты/сервисы
- Для проверки наличия/отсутствия определенных программных интерфейсов используйте соответствующие функции Windows API – LoadLibrary(), GetProcAddress()
- Работе под учетной записью «Standard User»
- Проверяйте полную работоспособность приложения под учетной записью «Standard User»
- В случае необходимости в выполнении привилегированных операций, выносите эту функциональность в отдельный модуль, запускаемый с соответствующими опциями в манифесте приложения
- Для взаимодействия между модулями приложения используйте файлы, располагаемые в памяти, механизмы RPC или другие документированные функции
- Записи в рекомендованные папки/ветви реестра
- Для хранения данных пользователей, используйте профиль пользователя
- Для хранения общих данных – документированные папки
- Используйте только известные системе папки – через функцию GetKnownFolder() или ее эквиваленты
- Использованию манифеста
- Помните, что манифест приложения, переводит приложение для Windows XP в приложение для Windows Vista – для приложений с манифестом, в котором указаны блоки, характерные для Windows Vista, отключаются механизмы перенаправления действий с файловой системой и реестром, что может привести к появлению ошибок при работе приложения
- Интерактивным сервисам
- Интерактивные сервисы, запускаемые в Сессии 0, не поддерживаются в Windows Vista и Windows 7
- При необходимости создания интерактивных сервисов, используйте отдельные интерфейсные модули, с которыми сервисы общаются документированными способами
Для решения вопросов обеспечения совместимости приложений можно порекомендовать следующие подходы:
- Используйте рекомендации,
- опубликованные на портале для компаний-разработчиков (http://www.microsoft.ru/isv) и в нашем блоге (http://blogs.technet.com/isv_team)
- В наших пособиях
- Про которые мы рассказываем на семинарах – расписание см. здесь
- Включите тестовые сценарии сертификации в процесс тестирования
- Напишите сценарий, охватывающий максимальную функциональность
- Тестовые сценарии
- Тестируйте с помощью Application Verifier
Преемственность приложений означает, что приложения
- • Корректно работают на нескольких версиях ОС
- XP -> Vista ->Windows 7
- Используют функции каждой ОС
- Начиная с Windows XP: Диалоговые панели общего назначения (Common Dialogs)
- Начиная с Windows XP: Интерфейсные элементы (UI)
- Начиная с Windows XP: Windows Error Reporting
- Начиная с Windows XP/Vista: Platform Update for Windows Vista
- Подробнее – в нашем блоге
- Начиная с Windows Vista: Restart Manager
Продолжение следует...
АФ