Тесты комплекта сертификации приложений для Windows
Ниже приведены сведения о тестировании классических приложений. Дополнительные сведения см. в разделе "Использование комплекта сертификации приложений Для Windows".
- Очистка обратимой установки
- Установка на правильный тест папок
- Проверка файлов с цифровой подписью
- Поддержка теста Windows x64
- Проверка версии ОС проверка
- Тест управления учетными записями пользователей (UAC)
- Придерживаться сообщений диспетчера перезагрузки системы
- тестирование в режиме Сейф
- Многопользовательский тест сеанса
- Аварийное завершение и зависание теста
- Проверка совместимости и устойчивости
- тестирование рекомендаций Безопасность Windows
- тестирование функций Безопасность Windows
- Тест высокого уровня DPI
Очистка обратимой установки
Устанавливает и удаляет приложение и проверка для остаточных файлов и записей реестра.
- Фон
- Чистая, обратимая установка позволяет пользователям развертывать и удалять приложения. Чтобы пройти этот тест, приложение должно выполнить следующее:
- Приложение не принудительно перезапускает систему сразу после установки или удаления приложения. Процесс установки или удаления приложения никогда не должен требовать перезагрузки системы сразу после завершения работы. Если для этого требуется перезапуск системы, пользователи должны иметь возможность перезапустить систему в удобном состоянии.
- Приложение не зависит от имен коротких файлов 8.3 (SFN). Процессы установки и удаления приложения должны иметь возможность использовать длинные имена файлов и пути к папкам.
- Приложение не блокирует автоматическую установку и удаление
- Приложение делает необходимые записи в системном реестре. Средства инвентаризации Windows и средства телеметрии требуют полных сведений об установленных приложениях. Установщики приложений должны создавать правильные записи реестра, чтобы разрешить успешное обнаружение и удаление.
- Если вы используете установщик на основе MSI, MSI автоматически создает записи реестра ниже. Если вы не используете установщик MSI, модуль установки должен создать следующие записи реестра во время установки:
- DisplayName
- InstallLocation
- Publisher
- UninstallString
- VersionMajor или MajorVersion
- VersionMinor или MinorVersion
- Приложение должно удалить все записи в разделе "Добавление и удаление программ".
- Чистая, обратимая установка позволяет пользователям развертывать и удалять приложения. Чтобы пройти этот тест, приложение должно выполнить следующее:
- Сведения о тестировании
- Этот тест проверка выполняет процессы установки и удаления приложения для требуемого поведения.
- Исправление действия
- Просмотрите дизайн и поведение приложения в соответствии с описанными выше требованиями.
Установка на правильный тест папок
Проверяет, записывает ли приложение свои программы и файлы данных в правильные папки.
- Фон
- Приложения должны правильно использовать систему пользователей и папки для каждого пользователя, чтобы он смог получить доступ к данным и параметрам, которым он нужен, при защите данных и параметров пользователя от несанкционированного доступа.
- Папки Program Files
- Приложение должно быть установлено в папке Program Files по умолчанию (%ProgramFiles% для собственных 32-разрядных и 64-разрядных приложений, а также %ProgramFiles(x86)% для 32-разрядных приложений, работающих на X64.
- Примечание. Приложение не должно хранить данные пользователя или данные приложения в папке Program Files из-за разрешений безопасности, настроенных для этой папки.
- Списки управления доступом в системных папках Windows позволяют только учетным записям администратора читать и записывать их. В результате учетные записи стандартных пользователей не будут иметь доступа к этим папкам. Однако виртуализация файлов позволяет приложениям хранить файл, например файл конфигурации, в системном расположении, которое обычно записывается только администраторами. Выполнение программ в качестве стандартного пользователя в этой ситуации может привести к сбою, если он не может получить доступ к требуемому файлу.
- Приложения должны использовать известные папки , чтобы убедиться, что они смогут получить доступ к своим данным.
- Примечание. Windows обеспечивает виртуализацию файлов для улучшения совместимости приложений и устранения проблем при запуске приложений в качестве стандартного пользователя в Windows. Приложение не должно полагаться на виртуализацию в будущих версиях Windows.
- Папки данных приложения для конкретных пользователей
- В установках "на компьютере" приложение не должно записывать данные, относящиеся к пользователю во время установки. Данные установки, относящиеся к пользователю, должны записываться только при первом запуске приложения. Это связано с отсутствием правильного расположения пользователя для хранения данных во время установки. Попытки приложения изменить поведение сопоставлений по умолчанию на уровне компьютера после установки будут неудачными. Вместо этого необходимо запросить значения по умолчанию на уровне пользователя, что предотвращает перезапись нескольких пользователей по умолчанию.
- Все данные приложения, эксклюзивные для конкретного пользователя, и не должны предоставляться другим пользователям компьютера, должны храниться в users\username>\<AppData.
- Все данные приложения, которые должны быть общими для пользователей на компьютере, должны храниться в ProgramData.
- Другие системные папки и разделы реестра
- Приложение никогда не должно записывать непосредственно в каталог Windows и вложенные каталоги. Используйте правильные методы для установки файлов, таких как шрифты или драйверы, в эти каталоги.
- Приложения не должны запускаться автоматически при запуске, например путем добавления записи в одно или несколько из следующих расположений:
- Разделы запуска реестра HKLM и HKCU в разделе Software\Microsoft\Windows\CurrentVersion
- Разделы запуска реестра HKLM и HKCU в программе\Wow6432Node\Microsoft\windows\CurrentVersion
- Пуск меню AllPrograms > STARTUP
- Сведения о тестировании
- Этот тест проверяет, использует ли приложение определенные расположения в файловой системе, которые Windows предоставляет для хранения программ и компонентов программного обеспечения, общих данных приложения и данных приложения, относящихся к пользователю.
- Корректирующие действия
- Просмотрите, как приложение использует папки системы и убедитесь, что они используются правильно.
- Исключения и отказы
- Отказ требуется для классических приложений, записывающихся в глобальный кэш сборок (GAC) (приложения .NET, должны сохранять зависимости сборок закрытыми и хранить их в каталоге приложения, если только не требуется предоставление общего доступа к сборке).
- Установка в папку "Файлы программ" не является требованием для пакетов SW для настольных компьютеров для достижения логотипа SW только в категории "Основы SW".
Тест файла с цифровой подписью.
Проверяет исполняемые файлы и драйверы устройств, чтобы убедиться, что они имеют допустимую цифровую подпись.
- Фон
- Файлы с цифровой подписью позволяют проверить подлинность файла и определить, был ли файл изменен.
- Принудительное применение подписывания кода в режиме ядра — это функция Windows, которая также называется целостностью кода (CI). CI повышает безопасность Windows, проверяя целостность файла при каждой загрузке в память. CI обнаруживает, изменил ли вредоносный код двоичный файл системы и создает событие журнала диагностики и системного аудита, когда подпись модуля ядра завершается ошибкой правильной проверки.
- Если приложению требуются повышенные разрешения, запрос на повышение прав отображает контекстные сведения о исполняемом файле, который запрашивает повышенный доступ. В зависимости от того, подписано ли приложение Authenticode, пользователь может увидеть запрос согласия или запрос учетных данных.
- Надежные имена не позволяют сторонним лицам подделывать код, если вы защищаете закрытый ключ. Платформа .NET Framework проверяет цифровую подпись при загрузке сборки или установке ее в GAC. Без доступа к закрытому ключу злоумышленник не может изменить код и снова подписать его.
- Сведения о тестировании
- Все исполняемые файлы, например с расширениями файлов EXE, DLL, ocx, .sys, .cpl, DRV и .scr, должны быть подписаны с помощью сертификата Authenticode.
- Все драйверы режима ядра, установленные приложением, должны иметь подпись Майкрософт, полученную с помощью программы WHQL или DRS. Все драйверы фильтров файловой системы должны быть подписаны WHQL.
- Исправление действия
- Подписывая исполняемые файлы приложения.
- Используйте makecert.exe для создания сертификата или получения ключа подписывания кода из одного из коммерческих центров сертификации (ЦС), таких как VeriSign, Thawte или ЦС Майкрософт.
- Исключения и отказы
- Отказы будут считаться только для неподписанных сторонних распространяемых компонентов. Для предоставления этого отказа требуется подтверждение связи, запрашивающей подписанную версию распространяемых компонентов.
- Пакеты программного обеспечения, добавленные для устройств, освобождаются от сертификации драйверов в режиме ядра, так как драйверы должны быть сертифицированы сертификацией оборудования Windows.
Поддержка теста Windows x64
Протестируйте приложение, чтобы убедиться, что exe-файл создан для архитектуры платформы, на которую она будет установлена.
- Фон
- Исполняемый файл должен быть создан для архитектуры процессора, на которой она установлена. Некоторые исполняемые файлы могут выполняться в другой архитектуре процессора, но это не является надежным.
- Совместимость архитектуры важна, так как 32-разрядные процессы не могут загружать 64-разрядные библиотеки DLL и 64-разрядные процессы не могут загружать 32-разрядные библиотеки DLL. Аналогичным образом 64-разрядные версии Windows не поддерживают 16-разрядные приложения под управлением Windows, так как дескриптор имеет 32 существенных бита в 64-разрядной версии Windows, чтобы они не могли передаваться в 16-разрядные приложения. Поэтому попытка запустить 16-разрядное приложение завершится ошибкой в 64-разрядных версиях Windows.
- 32-разрядные драйверы устройств не могут работать в 64-разрядных версиях Windows, поэтому их необходимо перенести в 64-разрядную архитектуру.
- Для приложений пользовательского режима 64-разрядная версия Windows включает WOW64, что позволяет 32-разрядным приложениям Windows выполняться в системах под управлением 64-разрядных Windows, хотя и с некоторой потерей производительности. Для драйверов устройств нет эквивалентного уровня перевода.
- Для обеспечения совместимости с 64-разрядными версиями Windows приложения должны изначально поддерживать 64-разрядные приложения или, как минимум, 32-разрядные приложения на основе Windows должны работать без проблем в 64-разрядных системах:
- Приложения и их установщики не должны содержать 16-разрядный код или полагаться на любой 16-разрядный компонент.
- Программа установки приложений должна обнаруживать и устанавливать соответствующие драйверы и компоненты в 64-разрядных версиях Windows.
- Все подключаемые модули оболочки должны работать в 64-разрядных версиях Windows.
- Приложения, выполняемые в эмуляторе WoW64, не должны пытаться обойти механизмы виртуализации Wow64. Если существуют определенные сценарии, в которых приложениям необходимо определить, работают ли они в эмуляторе WoW64, они должны сделать это путем вызова IsWow64Process.
- Сведения о тестировании
- Приложение не должно устанавливать 16-разрядные двоичные файлы. Приложение не должно устанавливать 32-разрядный драйвер режима ядра, если он должен работать на 64-разрядном компьютере.
- Корректирующие действия
- Создайте исполняемые файлы и драйверы для архитектуры процессора, для которой требуется установить их.
Проверка версии ОС проверка
Проверяет, как приложение проверка для версии Windows, в которой она работает.
- Фон
- Приложения проверка версию ОС, проверив версию, которая больше или равно требуемой версии, чтобы обеспечить совместимость с будущими версиями Windows.
- Сведения о тестировании
- Имитирует запуск приложения в разных версиях Windows, чтобы узнать, как он реагирует.
- Корректирующие действия
- Проверьте правильную версию Windows, проверив, если текущая версия больше или равна версии приложения, службы или драйвера.
- Установщики драйверов и модули удаления никогда не должны проверка версии ОС.
- Исключения и отказы
- Отказы будут рассматриваться для приложений, которые соответствуют следующим критериям: (применяется только к сертификации классических приложений)
- Приложения, которые доставляются в виде одного пакета, работающего в Windows XP, Windows Vista и Windows 7, и должны проверка версию ОС, чтобы определить, какие компоненты необходимо установить в данной операционной системе.
- Приложения, которые проверка только минимальную версию ОС (только во время установки, а не во время выполнения), используя только утвержденные вызовы API и перечислить минимальное требование версии в манифесте приложения по мере необходимости.
- Приложения безопасности, такие как антивирусная программа и брандмауэр, системные служебные программы, такие как служебные программы дефрагментации и приложения резервного копирования, а также средства диагностика, которые проверка версию ОС, используя только утвержденные вызовы API.
- Отказы будут рассматриваться для приложений, которые соответствуют следующим критериям: (применяется только к сертификации классических приложений)
Тест контроля учетных записей (UAC)
Проверяет приложение, чтобы убедиться, что для запуска не требуется ненужные повышенные разрешения.
- Фон
- Приложение, которое работает или устанавливает только в том случае, если пользователь является администратором, заставляет пользователей запускать приложение с ненужными повышенными разрешениями, что может позволить вредоносным программам входить на компьютер пользователя.
- Когда пользователи всегда вынуждены запускать приложения с маркерами доступа с повышенными привилегиями, приложение может серверировать в качестве точки входа для обманчивого или вредоносного кода. Эта вредоносная программа может легко изменить операционную систему или хуже, повлиять на других пользователей. Практически невозможно управлять пользователем с полным доступом администратора, так как Администратор istrator может устанавливать приложения и запускать любые приложения или скрипты на компьютере. ИТ-менеджеры всегда ищут способы создания "стандартных рабочих столов", где пользователи входят в систему как стандартные пользователи. Стандартные настольные компьютеры значительно снижают затраты на службу поддержки и сокращают затраты на ИТ.
- Большинство приложений не требуют прав администратора во время выполнения. Учетная запись стандартного пользователя должна иметь возможность запускать их. Приложения Windows должны иметь манифест (внедренный или внешний), чтобы определить уровень выполнения, который сообщает ОС привилегии, необходимые для запуска приложения. Манифест приложения применяется только к EXE-файлам, а не к DLL-файлам. Контроль учетных записей пользователей (UAC) не проверяет библиотеки DLL во время создания процесса. Правила UAC не применяются к службы Майкрософт. Манифест приложения может быть внедрен или внешний.
- Чтобы создать манифест, создайте файл с именем <app_name.exe.manifest> и сохраните его в том же каталоге, что и EXE. Обратите внимание, что любой внешний манифест игнорируется, если у приложения есть внутренний манифест.
- Например, <requestedExecutionLevel level="asInvoker | highestAvailable | require Администратор istrator"" uiAccess=""true|false"/>
- Основной процесс приложения должен выполняться как стандартный пользователь (asInvoker). Все административные функции должны быть перемещены в отдельный процесс, который выполняется с правами администратора.
- Пользователям, которые требуют повышенных привилегий, должны быть подписаны Authenticode.
- Сведения о тестировании
- Все пользовательские exes должны быть помечены атрибутом asInvoker. Если они помечены как самые высокие или требуются Администратор istrator, они должны быть правильно подписаны authenticode. Любой exe-файл приложения не должен иметь атрибут uiAccess, равный true. Любой exe,который выполняется в качестве службы, исключается из этого конкретного проверка.
- Корректирующие действия
- Просмотрите файл манифеста приложения для правильных записей и уровней разрешений.
- Исключения и отказы
- Отказ требуется для приложений, выполняющих свой основной процесс с повышенными привилегиями (требуется Администратор istrator или самый высокий уровень доступности). Основной процесс — это процесс, предоставляющий пользователю точку входа в приложение.
- Отказы будут рассматриваться в следующих сценариях:
- Администратор истративные или системные средства с уровнем выполнения, установленным для наивысшего уровня, требуются Администратор istrator или оба.
- Только приложение специальных возможностей или платформы автоматизации пользовательского интерфейса задает флаг uiAccess значение TRUE, чтобы обойти изоляцию привилегий пользовательского интерфейса (UIPI). Чтобы правильно запустить использование приложения, этот флаг должен быть подписан Authenticode и должен находиться в защищенном расположении в файловой системе, например Program Files.
Придерживаться сообщений диспетчера перезагрузки системы
Проверяет, как приложение реагирует на завершение работы системы и перезапуск сообщений.
- Фон
- Приложения должны выйти как можно быстрее, когда они уведомляются о завершении работы системы, чтобы обеспечить быстрое завершение работы или выключение питания для пользователя.
- В критическом завершении работы приложения, возвращающие false , в WM_QUERYENDSESSION будут отправлены WM_ENDSESSION и закрыты, в то время как время ожидания в ответ на WM_QUERYENDSESSION будет принудительно прекращено.
- Сведения о тестировании
- Проверяет, как приложение реагирует на завершение работы и выход из сообщений.
- Корректирующие действия
- Если приложение завершается сбоем этого теста, просмотрите способ обработки этих сообщений Windows:
- WM_QUERYENDSESSION с помощью LPARAM = ENDSESSION_CLOSEAPP(0x1): классические приложения должны немедленно отвечать (TRUE) при подготовке к перезапуску. Консольные приложения могут вызывать SetConsoleCtrlHandler для получения уведомлений о завершении работы. Службы могут вызывать RegisterServiceCtrlHandlerEx для получения уведомлений о завершении работы в подпрограмме обработчика.
- WM_ENDSESSION с LPARAM = ENDSESSION_CLOSEAPP(0x1): приложения должны возвращать значение 0 в течение 30 секунд и завершить работу. Как минимум, приложения должны подготовиться, сохраняя все пользовательские данные и указав необходимые сведения после перезапуска.
- Консольные приложения, получающие уведомление CTRL_C_EVENT , должны немедленно завершить работу. Драйверы не должны вето на событие завершения работы системы.
- Примечание. Приложения, которые должны блокировать завершение работы из-за операции, которая не может быть прервана, должна использовать ShutdownBlockReasonCreate для регистрации строки, объясняющей причину для пользователя. После завершения операции приложение должно вызвать ShutdownBlockReasonDesk, чтобы указать, что система может быть завершена.
- Если приложение завершается сбоем этого теста, просмотрите способ обработки этих сообщений Windows:
тестирование в режиме Сейф
Проверяет, настроен ли драйвер или служба на запуск в безопасном режиме.
- Фон
- режим Сейф позволяет пользователям диагностировать и устранять проблемы с Windows. Только драйверы и службы, необходимые для базовой работы операционной системы или предоставляющие службы диагностики и восстановления, должны загружаться в безопасном режиме. Загрузка других файлов в безопасном режиме затрудняет устранение неполадок с операционной системой.
- По умолчанию только драйверы и службы, предварительно установленные с помощью Windows, запускают в безопасном режиме. Все остальные драйверы и службы должны быть отключены, если система не требует их для основных операций или для диагностики и восстановления.
- Сведения о тестировании
- Драйверы, установленные приложением, не должны быть помечены для загрузки в безопасном режиме.
- Корректирующие действия
- Если драйвер или служба не должны запускаться в безопасном режиме, удалите записи приложения из разделов реестра.
- Исключения и отказы
- Для драйверов и служб, которые должны начинаться в безопасном режиме, требуется сертификат отказа. Запрос на отказ должен включать каждый драйвер и службу, чтобы добавить в разделы реестра Сейф Boot и описать технические причины, по которым драйвер или служба должны выполняться в безопасном режиме. Установщик приложений должен зарегистрировать все такие драйверы и службы в следующих разделах реестра:
- HKLM/System/CurrentControlSet/Control/Сейф Boot/Min
- HKLM/System/CurrentControlSet/Control/Сейф Boot/Network
- Для драйверов и служб, которые должны начинаться в безопасном режиме, требуется сертификат отказа. Запрос на отказ должен включать каждый драйвер и службу, чтобы добавить в разделы реестра Сейф Boot и описать технические причины, по которым драйвер или служба должны выполняться в безопасном режиме. Установщик приложений должен зарегистрировать все такие драйверы и службы в следующих разделах реестра:
- Примечание. Необходимо протестировать драйверы и службы, которые необходимо запустить в безопасном режиме, чтобы гарантировать, что они работают в безопасном режиме без ошибок.
Многопользовательский тест сеанса
Проверьте, как работает приложение при одновременном запуске в нескольких сеансах.
- Фон
- Пользователи Windows должны иметь возможность выполнять одновременные сеансы. Приложения должны гарантировать, что при выполнении в нескольких сеансах (локально или удаленно) обычные функциональные возможности приложения не оказывают негативного влияния. Параметры приложения и файлы данных должны быть конкретными пользователями, а конфиденциальность и предпочтения пользователя должны быть ограничены сеансом пользователя.
- Сведения о тестировании
- Выполняет несколько одновременных экземпляров приложения, чтобы проверить следующее:
- Несколько экземпляров приложения, запущенного одновременно, изолированы друг от друга.
- Это означает, что данные пользователя из одного экземпляра не видны другому экземпляру. Звук в неактивном сеансе пользователя не должен быть услышан в активном сеансе пользователя. В случаях, когда несколько экземпляров приложений используют общие ресурсы, приложение должно убедиться, что конфликт не существует.
- Если приложение было установлено для нескольких пользователей, оно хранит данные в правильных папках и расположениях реестра.
- Приложение может выполняться в нескольких сеансах пользователей (быстрое переключение пользователей) для локального и удаленного доступа.
- Чтобы убедиться в этом, приложение должно проверка сеансы других сеансов службы терминалов (TS) для существующих экземпляров приложения. Если приложение не поддерживает несколько сеансов пользователей или удаленный доступ, оно должно четко сказать пользователю, когда он запускается из такого сеанса.
- Выполняет несколько одновременных экземпляров приложения, чтобы проверить следующее:
- Исправление действия
- Убедитесь, что приложение не хранит файлы данных на уровне системы или параметры в хранилищах данных, таких как профиль пользователя или HKCU. Если это так, эта информация не будет доступна другим пользователям.
- Приложение должно установить системные файлы конфигурации и данных во время установки и создать файлы, относящиеся к пользователю, и параметры после установки при запуске пользователя.
- Убедитесь, что приложение не блокирует несколько одновременных сеансов локально или удаленно. Приложение не должно зависеть от глобальных мьютексов или других именованных объектов, чтобы проверка для нескольких одновременных сеансов или блокировать их.
- Если приложение не может разрешить несколько одновременных сеансов на пользователя, используйте пространства имен для мьютексов и других именованных объектов на пользователя или на сеанс.
Аварийное завершение и зависание теста
Отслеживает приложение во время тестирования сертификации, чтобы зафиксировать момент сбоя или зависания.
- Фон
- Сбои приложений, такие как сбои и зависания, являются серьезным нарушением работы пользователей и причиной разочарования. Устранение таких сбоев повышает стабильность и надежность приложений, а также обеспечивает пользователям лучший опыт работы с приложением. Приложения, которые перестают отвечать на запросы или завершать сбой, могут привести к потере данных и плохому опыту работы.
- Сведения о тестировании
- Мы проверяем устойчивость и стабильность приложений во время тестирования сертификации.
- Комплект сертификации приложений Windows вызывает IApplicationActivationManager::ActivateApplication для запуска приложений Магазина Windows. Чтобы АктивироватьApplication для запуска приложения, необходимо включить контроль учетных записей пользователей (UAC), а разрешение экрана должно быть не менее 1024 x 768 или 768 x 1024. Если любое условие не выполнено, ваше приложение завершится сбоем этого теста.
- Корректирующие действия
- Убедитесь, что UAC включен на тестовом компьютере.
- Убедитесь, что вы выполняете тест на компьютере с достаточно большим экраном.
- Если приложение не запускается, и тестовая платформа удовлетворяет предварительным требованиям ActivateApplication, вы можете устранить проблему, просмотрив журнал событий активации. Чтобы найти эти записи в журнале событий, выполните указанные ниже действия.
- Откройте eventvwr.exe и перейдите к узлу \Windows Logs\Application.
- Отфильтруйте представление, чтобы отобразить идентификаторы событий: 5900-6000.
- Просмотрите записи журнала для получения сведений, которые могут объяснить, почему приложение не запущено.
- Устраните файл с проблемой, определите и исправьте проблему. Перестройте и повторно протестируйте приложение.
- Дополнительные ресурсы
Проверка совместимости и устойчивости
- Фон
- Эта проверка проверяет два аспекта приложения, основные исполняемые файлы приложения, например точка входа пользователя с приложением, должна быть манифестирована для совместимости, а также объявление правильного GUID. Для поддержки этого нового теста отчет будет иметь вложенный узел в разделе "Совместимость и устойчивость". Приложение завершится ошибкой, если одно или оба из этих условий отсутствуют.
- Сведения о тестировании
- Совместимость. Приложения должны быть полностью функциональными без использования режимов совместимости Windows, сообщений AppHelp или других исправлений совместимости. Манифест совместимости позволяет Windows предоставлять приложению правильное поведение совместимости в разных версиях ОС.
- AppInit: приложения не должны перечислять библиотеки DLL для загрузки в раздел реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs реестра.
- Обратная связь. Приложение должно предоставить манифест обратного коммутатора. Если манифест отсутствует, пакет сертификации приложений Windows выдает предупреждение. Пакет сертификации приложений Windows также проверяет, что манифест содержит допустимый GUID ОС.
- Корректирующие действия
- Исправьте компонент приложения, использующий исправление совместимости.
- Убедитесь, что приложение не зависит от исправлений совместимости для ее функциональных возможностей.
- Убедитесь, что приложение манифестировано, а раздел совместимости содержит соответствующие значения.
- Дополнительные сведения
- Дополнительные сведения см . в библиотеках DLL AppInit.
тестирование рекомендаций Безопасность Windows
- Фон
- Приложение не должно изменять параметры безопасности Windows по умолчанию
- Сведения о тестировании
- Проверяет безопасность приложения, запустив анализатор поверхности атаки. Этот подход будет применяться для добавления категорий сбоев на основе каждого теста. Например, некоторые категории для теста безопасности могут включать:
- Сбой инициализации
- Сбой архитектуры безопасности
- Возможный сбой переполнения буфера
- Сбой сбоя
- Дополнительные сведения см . здесь.
- Проверяет безопасность приложения, запустив анализатор поверхности атаки. Этот подход будет применяться для добавления категорий сбоев на основе каждого теста. Например, некоторые категории для теста безопасности могут включать:
- Корректирующие действия
- Устранение неполадок и устранение проблемы, определяемой тестами. Перестройте и повторно протестируйте приложение.
Проверка возможностей безопасности Windows
- Фон
- Приложения должны принять участие в функциях безопасности Windows. Изменение защиты безопасности Windows по умолчанию может поставить клиентов под повышенный риск.
- Сведения о тестировании
- Проверяет безопасность приложения, запустив двоичный анализатор BinScope. Дополнительные сведения см . здесь.
- Корректирующие действия
- Устранение неполадок и устранение проблемы, определяемой тестами. Перестройте и повторно протестируйте приложение.
Тест высокого уровня DPI
Для приложений Win32 настоятельно рекомендуется учитывать DPI. Это ключ, чтобы пользовательский интерфейс приложения выглядел согласованно в различных параметрах отображения с высоким уровнем DPI. Приложение с поддержкой DPI, работающее в параметре отображения с высоким уровнем DPI, может иметь такие проблемы, как неправильное масштабирование элементов пользовательского интерфейса, обрезанный текст и размытые изображения. Существует два способа объявления приложения с учетом DPI. Одним из них является объявление DPI.
- Фон
- Эта проверка проверяет два аспекта приложения, основные исполняемые файлы, например точки входа с приложением, которые сталкиваются с пользователем, должны быть манифестированы для осведомленности с высоким уровнем DPI и что соответствующие API вызываются для поддержки HIGH-DPI. Приложение завершится ошибкой, если одно или оба из этих условий отсутствуют. В этом проверка будет представлен новый раздел в классическом отчете, см. пример ниже.
- Сведения о тестировании
- Тест создаст предупреждение при обнаружении любого из следующих элементов:
- Основной EXE не объявляет осведомленность О DPI в манифесте и не вызывает API SetProcessDPIAware. (Предупреждайте разработчика, если он забыл добавить манифест осведомленности о DPI).
- Основной EXE не объявляет осведомленность О DPI в манифесте, но вызывает API SetProcessDPIAware (предупреждайте разработчика, что он должен использовать манифест для объявления осведомленности О DPI вместо вызова API).
- MainEXE объявляет осведомленность о DPI в манифесте, но также вызывает API SetProcessDPIAware (предупреждайте разработчика, что вызов этого API не требуется).
- Для двоичных файлов, которые не являются основными EXEs, если они вызывают API, предоставьте предупреждение (вызов API не рекомендуется).
- Тест создаст предупреждение при обнаружении любого из следующих элементов:
- Корректирующие действия
- Использование функции SetProcessDPIAware() не рекомендуется. Если библиотека DLL кэширует параметры DPI во время инициализации, вызов SetProcessDPIAware() в приложении может создать состояние гонки. Вызов функции SetProcessDPIAware() в библиотеке DLL не является хорошей практикой.
- Дополнительные сведения