Архив. Требования к сертификации для классических приложений Windows версии 1.1

Версия документа: 1.1

Дата документа: 26 января 2012 г.

В этом документе содержатся технические требования и квалификации, которые должны соответствовать классическому приложению для участия в программе сертификации классических приложений Windows 8. Для Windows 7 эта программа была известна как программа логотипа программного обеспечения Windows.

Добро пожаловать!

Платформа Windows поддерживает широкую экосистему продуктов и партнеров. Отображение логотипа Windows в продукте представляет связь и общую приверженность качеству между корпорацией Майкрософт и вашей компанией. Клиенты доверяют бренду Windows на продукт, так как он соответствует стандартам совместимости и хорошо работает на платформе Windows. Успешное прохождение сертификации приложений Windows позволяет продемонстрировать приложение в Центре совместимости Windows, и это также необходимый шаг для перечисления ссылки на классическое приложение в Магазине Windows.

Программа сертификации приложений Windows состоит из программ и технических требований, чтобы гарантировать, что сторонние приложения, использующие бренд Windows, легко установить и надежно на компьютерах под управлением Windows. Клиенты ценят стабильность, совместимость, надежность, производительность и качество в системах, которые они покупают. Корпорация Майкрософт фокусирует свои инвестиции на соответствие этим требованиям для приложений программного обеспечения, предназначенных для работы на платформе Windows для компьютеров. Эти усилия включают тесты совместимости для согласованности взаимодействия, повышения производительности и повышенной безопасности на компьютерах под управлением программного обеспечения Windows. Тесты совместимости Майкрософт разработаны в сотрудничестве с отраслевыми партнерами и постоянно улучшаются в ответ на отраслевые разработки и потребительский спрос.

Комплект сертификации приложений Windows используется для проверки соответствия этим требованиям и заменяет WSLK, используемый для проверки в программе с логотипом программного обеспечения Windows 7. Комплект сертификации приложений Windows является одним из компонентов, включенных в пакет SDK для программного обеспечения Windows.

Право на доступ к приложению

Чтобы приложение соответствовало сертификации классических приложений Windows 8, оно должно соответствовать следующим критериям и всем техническим требованиям, перечисленным в этом документе.

  • Это должно быть автономное приложение
  • Он должен работать на локальном компьютере с Windows 8.1
  • Это может быть клиентский компонент сертифицированного приложения Windows Server
  • Это должен быть код и функция завершены

1. Приложения совместимы и устойчивы

Время, когда приложение завершает работу или перестает отвечать на них, вызывает много разочарования пользователей. Ожидается, что приложения будут устойчивыми и стабильными и устраняют такие сбои, что программное обеспечение является более предсказуемым, обслуживаемым, выполняющимся и надежным.

1.1 Приложение не должно зависеть от режимов совместимости Windows, сообщения AppHelp и других исправлений совместимости.
1.2 Ваше приложение не должно зависеть от среды выполнения VB6.
1.3 Приложение не должно загружать произвольные библиотеки DLL для перехвата вызовов API Win32 с помощью HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows AppInit_dlls.

2. Приложения должны соответствовать рекомендациям по безопасности Windows

Использование рекомендаций по обеспечению безопасности Windows поможет избежать воздействия на поверхности атак Windows. Атаки — это точки входа, которые злоумышленник может использовать для использования операционной системы, используя уязвимости в целевом программном обеспечении. Одним из худших уязвимостей безопасности является повышение привилегий.

2.1 Приложение должно использовать надежные и соответствующие списки управления доступом для защиты исполняемых файлов 2.2. Ваше приложение должно использовать надежные и соответствующие списки управления доступом для защиты каталогов 2.3. Ваше приложение должно использовать надежные и соответствующие списки управления доступом для защиты разделов реестра. 2.4 Приложение должно использовать надежные и соответствующие списки управления доступом для защиты каталогов, содержащих объекты 2.5. Ваше приложение должно сократить доступ к службам, которые уязвимы для изменения 2.6. Ваше приложение должно предотвратить быстрый доступ к службам. перезапускается с перезапуска более чем дважды каждые 24 часа
**Примечание. Доступ должен предоставляться только сущностям, которые требуют его.**

Программа сертификации приложений Windows проверяет, что поверхности атак Windows не предоставляются, проверяя, что списки управления доступом и службы реализованы таким образом, чтобы система Windows не подвергалась риску.

3. Приложения поддерживают функции безопасности Windows

Операционная система Windows имеет множество функций, поддерживающих безопасность системы и конфиденциальность. Приложения должны поддерживать эти функции для обеспечения целостности операционной системы. Неправильно скомпилированные приложения могут привести к переполнению буферов, которые могут, в свою очередь, вызвать отказ в обслуживании или разрешить выполнение вредоносного кода.

3.1 Ваше приложение не должно использовать AllowPartiallyTrustedCallersAttribute (APTCA) для обеспечения безопасного доступа к сборкам с строгим именем
3.2 Приложение должно быть скомпилировано с помощью флага /Сейф SEH, чтобы обеспечить безопасную обработку исключений.
3.3 Приложение должно быть скомпилировано с помощью флага /NXCOMPAT, чтобы предотвратить выполнение данных
3.4 Приложение должно быть скомпилировано с помощью флага /DYNAMICBASE для случайной выборки макета адресного пространства (ASLR)
3.5 Ваше приложение не должно читать и записывать общие разделы PE

4. Приложения должны соответствовать сообщениям диспетчера перезапуска системы

Когда пользователи инициируют завершение работы, они обычно имеют сильное желание успешно завершить работу; они могут быть в спешке покинуть офис и просто хотят, чтобы их компьютеры выключились. Приложения должны уважать это желание, не блокируя завершение работы. Хотя в большинстве случаев завершение работы может не быть критическим, приложения должны быть подготовлены к возможному завершении работы.

4.1 Приложение должно соответствующим образом обрабатывать критические завершения работы.
При критическом завершении работы приложения, возвращающие false, в WM_QUERYENDSESSION будут отправляться WM_ENDSESSION и закрыты, в то время как время ожидания в ответ на WM_QUERYENDSESSION будет прекращено.

4.2 Приложение графического интерфейса пользователя должно немедленно вернуть TRUE при подготовке к перезапуску
WM\_QUERYENDSESSION с LPARAM = ENDESSION\_CLOSEAPP(0x1). Консольные приложения могут вызывать SetConsoleCtrlHandler, чтобы указать функцию, которая будет обрабатывать уведомления о завершении работы. Приложения-службы могут вызывать RegisterServiceCtrlHandlerEx, чтобы указать функцию, которая будет получать уведомления о завершении работы.
4.3 Ваше приложение должно вернуть 0 в течение 30 секунд и завершить работу.
WM\_ENDSESSION с LPARAM = ENDESSION\_CLOSEAPP(0x1). Как минимум, приложение должно подготовиться, сохраняя все пользовательские данные и указав необходимые сведения после перезапуска.
4.4 Консольные приложения, получающие уведомление CTRL\_C\_EVENT, должны немедленно завершить работу 4.5 Драйверы не должны вето на событие завершения работы системы
**Примечание. Приложения, которые должны блокировать завершение работы из-за операции, которая не может быть прервана, должна объяснить причину пользователю.** Использование ShutdownBlockReasonCreate для регистрации строки, объясняющей причину для пользователя. После завершения операции приложение должно вызвать ShutdownBlockReasonDesk, чтобы указать, что система может быть завершена.

5. Приложения должны поддерживать чистую, обратимую установку

Чистая, обратимая установка позволяет пользователям успешно управлять (развертывать и удалять) приложения в своих системах.

5.1 Ваше приложение должно правильно реализовать чистую, обратимую установку
Если установка завершается ошибкой, приложение должно иметь возможность отката и восстановления компьютера до предыдущего состояния.

5.2 Ваше приложение никогда не должно принудительно перезагрузить компьютер немедленно.
Перезапуск компьютера никогда не должен быть единственным вариантом в конце установки или обновления. Пользователи должны иметь возможность перезапустить позже.
5.3 Ваше приложение никогда не должно зависеть от имен коротких файлов 8.3 (SFN) 5.4. Ваше приложение никогда не должно блокировать автоматическую установку и удаление 5.5. Установщик приложения должен создать правильные записи реестра, чтобы разрешить успешное обнаружение и удаление.
Для средств инвентаризации Windows и средств телеметрии требуются полные сведения об установленных приложениях. Если вы используете установщик на основе MSI, MSI автоматически создает записи реестра ниже. Если вы не используете установщик MSI, модуль установки должен создать следующие записи реестра во время установки:
  • DisplayName
  • InstallLocation
  • Publisher
  • UninstallString
  • VersionMajor или MajorVersion
  • VersionMinor или MinorVersion

6. Приложения должны подписывать файлы и драйверы цифровой подписи

Цифровая подпись Authenticode позволяет пользователям убедиться, что программное обеспечение является подлинным. Он также позволяет определить, был ли файл изменен, например, если он был заражен вирусом. Принудительное применение подписывания кода в режиме ядра — это функция Windows, известная как целостность кода (CI), которая повышает безопасность операционной системы путем проверки целостности файла при каждом загрузке образа файла в память. CI определяет, изменил ли вредоносный код системный двоичный файл. Также создает событие журнала диагностики и аудита системы, когда подпись модуля ядра не проверяется правильно.

6.1 Все исполняемые файлы (.exe, .dll, .ocx, .sys, .cpl, DRV, SCR) должны быть подписаны с помощью сертификата Authenticode
6.2 Все драйверы режима ядра, установленные приложением, должны иметь подпись Майкрософт, полученную с помощью программы сертификации оборудования Windows. Все драйверы фильтров файловой системы должны быть подписаны корпорацией Майкрософт.
6.3 Исключения и отказы
Отказы будут рассматриваться только для неподписанных сторонних распространяемых компонентов, за исключением драйверов. Для предоставления этого отказа требуется подтверждение связи, запрашивающей подписанную версию распространяемых компонентов.

7. Приложения не блокируют установку или запуск приложений на основе версии операционной системы проверка

Важно, чтобы клиенты не были искусственно заблокированы при установке или запуске приложения, если нет технических ограничений. Как правило, если приложения были написаны для Windows Vista или более поздних версий Windows, они не должны проверка версию операционной системы.

7.1 Ваше приложение не должно выполнять версии проверка для равенства
Если вам нужна определенная функция, проверка, доступна ли сама функция. Если вам нужен Windows XP, проверка для Windows XP или более поздней версии (>= 5.1). Таким образом, код обнаружения будет продолжать работать в будущих версиях Windows. Установщики драйверов и модули удаления никогда не должны проверка версию операционной системы.

Исключения 7.2 и отказы будут рассматриваться для приложений, которые соответствуют приведенным ниже критериям:
  • Приложения, которые доставляются как один пакет, который также работает в Windows XP, Windows Vista и Windows 7, и необходимо проверка версию операционной системы, чтобы определить, какие компоненты необходимо установить в данной операционной системе.
  • Приложения, которые проверка только минимальную версию операционной системы (только во время установки, а не во время выполнения), используя только утвержденные вызовы API, и которые правильно перечисляют минимальные требования к версии в манифесте приложения.
  • Программы безопасности (антивирусная программа, брандмауэр и т. д.), системные служебные программы (например, дефрагментация, резервные копии и средства диагностика), которые проверка версию операционной системы, используя только утвержденные вызовы API.

8. Приложения не загружают службы или драйверы в безопасном режиме

режим Сейф позволяет пользователям диагностировать и устранять неполадки с Windows. Драйверы и службы не должны загружаться в безопасном режиме, если они не требуются для основных системных операций, таких как драйверы устройств хранения или для диагностики и восстановления, таких как сканеры антивирусов. По умолчанию, когда Windows находится в безопасном режиме, он запускает только драйверы и службы, которые были предварительно установлены в Windows.

  • 8.1 Исключения и отказы
    Драйверы и службы, которые должны быть запущены в безопасном режиме, требуют отказа. Запрос на отказ должен включать каждый применимый драйвер или службу, записываемые в разделы реестра Сейф Boot, и описать технические причины, по которым приложение или служба должны работать в безопасном режиме. Установщик приложений должен зарегистрировать все такие драйверы и службы с помощью следующих разделов реестра:
    — HKLM/System/CurrentControlSet/Control/Сейф Boot/Min — HKLM/System/CurrentControlSet/Control/Сейф Boot/Network

Примечание. Эти драйверы и службы необходимо протестировать, чтобы обеспечить их работу в безопасном режиме без ошибок.

9. Приложения должны следовать рекомендациям по управлению учетными записями пользователей

Некоторые приложения Windows выполняются в контексте безопасности учетной записи администратора, а приложения часто запрашивают чрезмерные права пользователя и привилегии Windows. Управление доступом к ресурсам позволяет пользователям контролировать свои системы и защищать их от нежелательных изменений. Нежелательные изменения могут быть вредоносными, такими как коркит, принимающий контроль над компьютером, или быть результатом действия, сделанного людьми с ограниченными привилегиями. Наиболее важным правилом для управления доступом к ресурсам является предоставление минимального количества стандартного контекста пользователя, необходимого для выполнения пользователем необходимых задач. В соответствии с рекомендациями по управлению учетными записями пользователей (UAC) приложение предоставляет приложениям необходимые разрешения, если они необходимы приложению, не оставляя систему постоянно подверженной рискам безопасности. Большинство приложений не требуют прав администратора во время выполнения и должны работать как стандартные пользователи.

9.1 Приложение должно иметь манифест, который определяет уровни выполнения и сообщает операционной системе, какие привилегии требуется приложению для запуска.
Манифест приложения применяется только к EXEs, а не к библиотекам DLL. Это связано с тем, что UAC не проверяет библиотеки DLL во время создания процесса. Также стоит отметить, что правила UAC не применяются к службам Windows. Манифест может быть внедренным или внешним.
Чтобы создать манифест, создайте файл с именем <app_name.exe.manifest> и сохраните его в том же каталоге, что и EXE. Обратите внимание, что любой внешний манифест игнорируется, если у приложения есть внутренний манифест. Например:
<requestedExecutionLevel level="asInvoker | highestAvailable | require Администратор istrator"" uiAccess=""true|false"/>

9.2 Основной процесс приложения должен выполняться как стандартный пользователь (asInvoker).
Все административные функции должны быть перемещены в отдельный процесс, который выполняется с правами администратора. Пользовательские приложения, такие как доступные через группу программ в меню "Пуск" и требующие повышения прав, должны быть подписаны Authenticode.
9.3 Исключения и отказы
Отказ требуется для приложений, выполняющих свой основной процесс с повышенными привилегиями (требуется Администратор istrator или самый высокий уровень доступности). Основной процесс определяется как точка входа пользователя в приложение. Отказы будут рассматриваться в следующих сценариях:
  • Администратор istrative или системные средства с уровнем выполнения, установленным для наивысшего значенияAvailable, и(или) требовать Администратор istrator
  • Только приложение для специальных возможностей или платформы автоматизации пользовательского интерфейса задает флаг uiAccess значение true, чтобы обойти изоляцию привилегий пользовательского интерфейса (UIPI). Чтобы правильно запустить использование приложения, этот флаг должен быть подписан Authenticode и должен находиться в защищенном расположении в файловой системе, а именно Program Files.

10. Приложения должны устанавливаться в правильные папки по умолчанию

Пользователи должны иметь согласованный и безопасный интерфейс с расположением установки файлов по умолчанию, сохраняя возможность установки приложения в выбранном расположении. Кроме того, необходимо хранить данные приложения в правильном расположении, чтобы несколько пользователей могли использовать один и тот же компьютер без повреждения или перезаписи данных и параметров друг друга. Windows предоставляет определенные расположения в файловой системе для хранения программ и компонентов программного обеспечения, общих данных приложения и данных приложения, относящихся к пользователю

10.1 Приложение должно быть установлено в папке Program Files по умолчанию.
Для собственных 32-разрядных и 64-разрядных приложений в %ProgramFiles%, а также %ProgramFiles(x86)% для 32-разрядных приложений, работающих на X64. Данные пользователя или данные приложения никогда не должны храниться в этом расположении из-за разрешений безопасности, настроенных для этой папки.

10.2 Ваше приложение должно избежать автоматического запуска при запуске.
Например, приложение не должно задавать ни одно из следующих элементов.
  • Разделы запуска реестра HKLM и HKCU в разделе Software\Microsoft\Windows\CurrentVersion
  • Разделы запуска реестра HKLM и HKCU в программе\Wow6432Node\Microsoft\windows\CurrentVersion
  • Пуск меню AllPrograms > STARTUP
10.3 Данные приложения, которые должны быть общими для пользователей на компьютере, должны храниться в программе ProgramData 10.4, которые являются эксклюзивными для конкретного пользователя, и которые не должны быть общими для других пользователей компьютера, должны храниться в Users\\<username>\AppData 10.5 Ваше приложение никогда не должно записываться непосредственно в каталог Windows и подкаталогы
Используйте правильные методы для установки файлов, таких как шрифты или драйверы.
10.6 Ваше приложение должно сначала записывать пользовательские данные, а не во время установки на компьютер
При установке приложения нет правильного расположения пользователя, в котором хранятся данные. Попытки приложения изменить поведение сопоставлений по умолчанию на уровне компьютера после установки будут неудачными. Вместо этого необходимо запросить значения по умолчанию на уровне пользователя, что предотвращает перезапись нескольких пользователей по умолчанию.
10.7 Исключения и отказы
Для приложений, которые записывают в глобальный кэш сборок (GAC) приложения .NET, должны сохранять зависимости сборок закрытыми и хранить их в каталоге приложений, если только не требуется явное предоставление общего доступа к сборке.

11. Приложения должны поддерживать сеансы с несколькими пользователями

Пользователи Windows должны выполнять одновременные сеансы без конфликтов или нарушений.

11.1 Ваше приложение должно гарантировать, что при выполнении в нескольких сеансах локально или удаленно, обычные функциональные возможности приложения не оказывают негативного влияния.
11.2 Параметры и файлы данных приложения не должны сохраняться между пользователями
11.3 Конфиденциальность и предпочтения пользователя должны быть изолированы для сеанса пользователя
11.4 Экземпляры приложения должны быть изолированы друг от друга.
Это означает, что данные пользователя из одного экземпляра не видны другому экземпляру приложения. Звук в неактивном сеансе пользователя не должен быть услышан в активном сеансе пользователя. В случаях, когда несколько экземпляров приложений используют общие ресурсы, приложение должно убедиться, что конфликт не существует.

11.5 Приложения, установленные для нескольких пользователей, должны хранить данные в правильных папках и расположениях реестра.
Ознакомьтесь с требованиями к UAC.
11.6 Пользовательские приложения должны работать в нескольких сеансах пользователей (быстрое переключение пользователей) для локального и удаленного доступа 11.7. Ваше приложение должно проверка сеансы других сеансов службы терминалов (TS) для существующих экземпляров приложения
**Примечание.** Если приложение не поддерживает несколько сеансов пользователей или удаленный доступ, оно должно четко указывать это при запуске из этого типа сеанса.

12. Приложения должны поддерживать версии Windows x64

Поскольку 64-разрядное оборудование становится более распространенным, пользователи ожидают, что разработчики приложений будут использовать преимущества 64-разрядной архитектуры, перенося свои приложения на 64-разрядную или 32-разрядные версии приложения, работают хорошо до 64-разрядных версий Windows.

12.1 Ваше приложение должно изначально поддерживать 64-разрядные приложения или, как минимум, 32-разрядные приложения windows должны работать без проблем на 64-разрядных системах, чтобы обеспечить совместимость с 64-разрядными версиями Windows.
12.2 Ваше приложение и его установщики не должны содержать 16-разрядный код или полагаться на любой 16-разрядный компонент.
12.3 Настройка приложения должна обнаруживать и устанавливать соответствующие драйверы и компоненты для 64-разрядной архитектуры.
12.4 Любые подключаемые модули оболочки должны работать в 64-разрядных версиях Windows
12.5 Приложение, работающее под эмулятором WoW64, не должно пытаться подставить или обойти механизмы виртуализации Wow64
Если существуют определенные сценарии, в которых приложения должны определить, работают ли они в эмуляторе WoW64, они должны сделать это путем вызова IsWow64Process.

Заключение

По мере развития этих требований мы заметим изменения в журнале редакций ниже. Стабильные требования критически важны для эффективной работы, поэтому мы будем стремиться обеспечить устойчивость изменений, которые мы делаем, и продолжать защищать и улучшать ваши приложения.

Благодарим вас еще раз за присоединение к нашей приверженности обеспечению большого опыта работы с клиентами.

Журнал исправлений

Date Версия Описание редакции Ссылка на документ
20 декабря 2011 г. 1.0 Первоначальный черновик документа для предварительной версии.
26 января 2012 г. 1,1 Обновление до раздела 2. 1,1

Дополнительные сведения о сертификации классических приложений

Требование Description Дополнительные сведения
Совместимость и устойчивость Аварии и зависания являются серьезным нарушением для пользователей и вызывают разочарование. Ожидается, что приложения будут устойчивыми и стабильными, устраняя такие сбои, помогают гарантировать, что программное обеспечение является более предсказуемым, обслуживаемым, выполняющимся и надежным. Операционные системы Windows Vista, Windows 7 и Windows 8
Средство проверки приложений
Библиотеки DLL AppInit
Придерживаться рекомендаций по Безопасность Windows Использование рекомендаций по обеспечению безопасности Windows поможет избежать воздействия на поверхности атак Windows. Атаки — это точки входа, которые злоумышленник может использовать для использования операционной системы, используя уязвимости в целевом программном обеспечении. Одним из худших уязвимостей безопасности является повышение привилегий. Анализатор направлений атак
Списки управления доступом
Поддержка функций Безопасность Windows Операционная система Windows реализовала множество мер для поддержки системы безопасности и конфиденциальности. Приложения должны поддерживать эти меры для обеспечения целостности ОС. Неправильно скомпилированные приложения могут привести к переполнению буферов, которые, в свою очередь, могут вызвать отказ в обслуживании или выполнить вредоносный код. Справочник по инструменту BinScope
Соблюдение сообщений диспетчера перезапуска системы Когда пользователи инициируют завершение работы, в большинстве случаев у них есть сильное желание увидеть завершение работы; они могут быть в спешке покинуть офис и "просто хотят", чтобы их компьютеры выключились. Приложения должны уважать это желание, не блокируя завершение работы. Хотя в большинстве случаев завершение работы может не быть критическим, приложения должны быть подготовлены к возможному завершении работы. Изменения завершения работы приложения в Windows Vista
Разработка диспетчера перезапуска
Очистка обратимой установки Чистая, обратимая установка позволяет пользователям успешно управлять (развертывать и удалять) приложения в своих системах. Практическое руководство. Установка необходимых компонентов для приложения ClickOnce
Установка приложения в 64-разрядных системах
Цифровая подпись файлов и драйверов Цифровая подпись Authenticode позволяет пользователям убедиться, что программное обеспечение является подлинным. Он также позволяет определить, был ли файл изменен, например, если он был заражен вирусом. Принудительное применение подписывания кода в режиме ядра — это функция Windows, известная как целостность кода (CI), которая повышает безопасность операционной системы путем проверки целостности файла при каждом загрузке образа файла в память. CI определяет, изменил ли вредоносный код системный двоичный файл. Также создает событие журнала диагностики и аудита системы, когда подпись модуля ядра не проверяется правильно. Цифровые подписи для модулей ядра в Windows
Не блокируйте установку или запуск приложения на основе версии операционной системы проверка Важно, чтобы клиенты не были искусственно заблокированы при установке или запуске приложения, если нет технических ограничений. Как правило, если приложения были написаны для Windows Vista или более поздних выпусков, они не должны иметь причин проверка версию операционной системы. Управление версиями операционной системы
Не загружайте службы и драйверы в режиме Сейф режим Сейф позволяет пользователям диагностировать и устранять неполадки с Windows. Если не требуется для основных операций системы (например, драйверов устройств хранения) или для диагностики и восстановления (например, сканеров антивирусов), драйверы и службы не должны загружаться в безопасном режиме. По умолчанию безопасный режим не запускает большинство драйверов и служб, которые не были предварительно установлены в Windows. Они должны оставаться отключенными, если система не требует их для основных операций или для диагностики и восстановления. Определение того, работает ли операционная система в режиме Сейф
Следуйте рекомендациям по управлению учетными записями пользователей (UAC) Некоторые приложения Windows выполняются в контексте безопасности учетной записи администратора, и многие требуют чрезмерных прав пользователя и привилегий Windows. Управление доступом к ресурсам позволяет пользователям управлять своими системами в отношении нежелательных изменений (нежелательные изменения могут быть вредоносными, такими как скрытое использование rootkit на компьютере, или действие от людей, имеющих ограниченные привилегии, например, сотрудник, устанавливающий запрещенное программное обеспечение на рабочем компьютере). Наиболее важным правилом для управления доступом к ресурсам является предоставление минимального количества стандартного контекста пользователя, необходимого для выполнения пользователем необходимых задач. Следуя рекомендациям по UAC, приложение предоставляет необходимые разрешения при необходимости, не оставляя систему постоянно подверженной рискам безопасности. Контроль учетных записей
UAC: рекомендации по обновлению приложений
Установка в правильные папки по умолчанию Пользователи должны иметь согласованный и безопасный интерфейс с расположением установки файлов по умолчанию, сохраняя возможность установки приложения в выбранное расположение. Кроме того, необходимо хранить данные приложения в правильном расположении, чтобы несколько пользователей могли использовать один и тот же компьютер без повреждения или перезаписи данных и параметров друг друга. Сводка требований к установке и удалению
Поддержка сеансов с несколькими пользователями Пользователи Windows должны выполнять одновременные сеансы без конфликтов или нарушений. Рекомендации по программированию служб удаленных рабочих столов
Поддержка версий Windows x64 Поскольку 64-разрядное оборудование становится более распространенным, пользователи ожидают, что разработчики приложений будут использовать преимущества 64-разрядной архитектуры, перенося свои приложения на 64-разрядную или 32-разрядные версии приложения, работают хорошо в 64-разрядных версиях Windows. Совместимость приложений: Windows Vista 64-разрядная версия

См. также