Разработка приложений для модели "Windows как услуга"Application development for Windows as a service

Относится кApplies to

  • Windows 10Windows 10
  • Windows 10 MobileWindows 10 Mobile
  • Windows 10 IoT БазоваяWindows 10 IoT Core

В сегодняшних условиях, когда ожидания пользователя часто обусловлены конкретными устройствами, полные циклы продукта нужно измерять в месяцах, а не в годах.In today’s environment, where user expectations frequently are set by device-centric experiences, complete product cycles need to be measured in months, not years. Кроме того, новые выпуски необходимо делать доступными на постоянной основе и развертывать с минимальным негативным влиянием на пользователей.Additionally, new releases must be made available on a continual basis, and must be deployable with minimal impact on users. При разработке Windows 10 корпорация Майкрософт учла эти требования и реализовала инновационный подход к разработке и доставке новых функций продукта, носящий название Windows as a Service (WaaS — Windows как услуга).Microsoft designed Windows 10 to meet these requirements by implementing a new approach to innovation, development, and delivery called Windows as a service (WaaS). Ключом к существенному сокращению циклов продукта при сохранении его высокого качества стал инновационный подход к тестированию с ориентацией на сообщество, который корпорация Майкрософт реализовала для Windows 10.The key to enabling significantly shorter product cycles while maintaining high quality levels is an innovative community-centric approach to testing that Microsoft has implemented for Windows 10. Сообщество участников программы предварительной оценки Windows состоит из миллионов пользователей по всему миру.The community, known as Windows Insiders, is comprised of millions of users around the world. После вступления участников программы предварительной оценки Windows в это сообщество они тестируют множество сборок в течение всего цикла продукта и отправляют отзывы в Майкрософт, используя итеративную методологию, называемую фокус-тестированием.When Windows Insiders opt in to the community, they test many builds over the course of a product cycle and provide feedback to Microsoft through an iterative methodology called flighting.

Сборки, распространяемые в рамках программы предварительной оценки Windows, обеспечивают команду разработчиков Windows полезными данными о том, насколько хорошо работают сборки в условиях реального использования.Builds distributed as flights provide the Windows engineering team with significant data regarding how well builds are performing in actual use. Кроме того, программа предварительной оценки Windows позволяет Майкрософт проверять сборки в более разнообразных аппаратных, программных и сетевых средах, чем ранее, а также намного быстрее выявлять проблемы.Flighting with Windows Insiders also enables Microsoft to test builds in much more diverse hardware, application, and networking environments than in the past, and to identify issues far more quickly. В результате, как считает корпорация Майкрософт, фокус-тестирование с участием сообщества обеспечивает более высокую скорость доставки новых функций продукта пользователям и более высокое качество общедоступного выпуска продукта, чем ранее.As a result, Microsoft believes that community-focused flighting will enable both a faster pace of innovation delivery and better public release quality than ever.

Типы и последовательность выпусков Windows 10Windows 10 release types and cadences

Хотя корпорация Майкрософт выпускает тестовые сборки для участников программы предварительной оценки Windows, широкой публике корпорация регулярно представляет два типа выпусков Windows 10:Although Microsoft releases flight builds to Windows Insiders, Microsoft will publish two types of Windows 10 releases broadly to the public on an ongoing basis:

Обновления компонентов. На устройства, уже работающие под управлением Windows 10, добавляются новые компоненты и возможности.Feature updates install the latest new features, experiences, and capabilities on devices that are already running Windows 10. Так как обновления компонентов содержат полную копию Windows, они также применяются пользователями для установки Windows 10 на имеющиеся устройства под управлением Windows 7 или Windows 8.1 и на новые устройства без операционной системы.Because feature updates contain an entire copy of Windows, they are also what customers use to install Windows 10 on existing devices running Windows 7 or Windows 8.1, and on new devices where no operating system is installed. Корпорация Майкрософт планирует публиковать обновления раз в полгода.Microsoft expects to publish updates semi-annually.

Исправления помогают устранить проблемы с системой безопасности и другие серьезные ошибки.Quality updates deliver security issue resolutions and other important bug fixes. Исправления будут предоставляться для улучшения каждой поддерживаемой сейчас функции один или более раз в месяц.Quality updates will be provided to improve each feature currently in support, on a cadence of one or more times per month. Майкрософт продолжит публиковать исправления по вторникам (которые иногда называются днем установки исправлений).Microsoft will continue publishing quality updates on Update Tuesday (sometimes referred to as Patch Tuesday). Кроме того, Майкрософт может публиковать дополнительные исправления для Windows 10 не в день установки обновлений, а когда это необходимо для пользователей.Additionally, Microsoft may publish additional quality updates for Windows 10 outside the Update Tuesday process when required to address customer needs.

В процессе разработки Windows 10 корпорация Майкрософт оптимизировала цикл разработки и выпуска продуктов Windows. Это ускорит доставку нужных пользователям компонентов, функций и возможностей взаимодействия.During Windows 10 development, Microsoft streamlined the Windows product engineering and release cycle so that we can deliver the features, experiences, and functionality customers want, more quickly than ever. Кроме того, корпорация Майкрософт создала новые способы доставки и установки обновлений компонентов и исправлений, упрощающих развертывание и текущее обслуживание, расширила базу сотрудников, которым можно выполнять обновление до новейших возможностей Windows, а также снизила совокупную стоимость владения.We also created new ways to deliver and install feature updates and quality updates that simplify deployments and on-going management, broaden the base of employees who can be kept current with the latest Windows capabilities and experiences, and lower total cost of ownership. Поэтому были реализованы новые варианты обслуживания (а именно — Semi-Annual Channel и Long-Term Servicing Channel (LTSC)), которые предоставляют практичные решения для поддержки обновления большего числа устройств в корпоративных средах, чем было возможно ранее.Hence we have implemented new servicing options – referred to as Semi-Annual Channel, and Long-Term Servicing Channel (LTSC) – that provide pragmatic solutions to keep more devices more current in enterprise environments than was previously possible.

В следующей таблице представлены различные каналы обслуживания и их основные атрибуты.The following table shows describes the various servicing channels and their key attributes.

Тип обслуживанияServicing option Доступность новых обновлений компонентов для установкиAvailability of new feature upgrades for installation Продолжительность обслуживанияServicing lifetime Основные преимуществаKey benefits Поддерживаемые выпускиSupported editions
Полугодовой канал (целевой)Semi-Annual Channel (Targeted) Сразу же после первой публикации корпорацией МайкрософтImmediately after first published by Microsoft 18 месяцев18 months Делает новые возможности доступными для пользователей как можно скорееMakes new features available to users as soon as possible Домашняя, Pro, Windows 10 для образовательных учреждений, Корпоративная, Mobile, IoT Базовая, Windows 10 IoT Базовая Профессиональная (IoT Core Pro)Home, Pro, Education, Enterprise, Mobile, IoT Core, Windows 10 IoT Core Pro (IoT Core Pro)
Полугодовой каналSemi-Annual Channel Приблизительно через 4 месяца после первой публикации корпорацией МайкрософтApproximately 4 months after first published by Microsoft 18 месяцев с момента первой публикации18 months from when first published Обеспечивает дополнительное время для проверки новых обновлений компонентов перед развертываниемProvides additional time to test new feature upgrades before deployment Pro, Для образовательных учреждений, Корпоративная, Mobile Корпоративная, IoT Core ProPro, Education, Enterprise, Mobile Enterprise, IoT Core Pro
Long-Term Servicing Channel (LTSC)Long-Term Servicing Channel (LTSC) Сразу же после публикации корпорацией МайкрософтImmediately after published by Microsoft 10 лет10 Years Делает возможным долгосрочное развертывание некоторых выпусков Windows 10 в малоизменяемых конфигурацияхEnables long-term deployment of selected Windows 10 releases in low-change configurations Корпоративная (LTSB)Enterprise LTSB

Дополнительные сведения см. в статье об обслуживании Windows 10 для обновления.For more information, see Windows 10 servicing options for updates and upgrades.

Поддержка приложений в рамках модели "Windows как услуга"Supporting apps in Windows as a service

Традиционным способом поддержки приложений был выпуск новой версии приложения в ответ на выпуск Windows.The traditional approach for supporting apps has been to release a new app version in response to a Windows release. Это предполагало внесение критических изменений в базовую ОС, что потенциально могло привести к ухудшению работы приложения.This assumes that there are breaking changes in the underlying OS that could potentially cause a regression with the application. Такая модель предусматривает специальный цикл разработки и проверки, требующий от наших партнеров — независимых поставщиков программных продуктов — согласовывать выпуск ПО с графиком выпуска Windows.This model involves a dedicated development and validation cycle that requires our ISV partners to align with the Windows release cadence.

В рамках модели "Windows как услуга" Майкрософт обязуется обеспечивать совместимость базовой ОС.In the Windows as a service model, Microsoft is making a commitment to maintaining the compatibility of the underlying OS. Это означает, что Майкрософт будет вести скоординированную работу по обеспечению отсутствия критических изменений, отрицательно влияющих на экосистему приложений.This means Microsoft will make a concerted effort to ensure that there are no breaking changes that impact the app ecosystem negatively. В этом случае после выпуска сборки Windows большинство приложений (которые не имеют зависимостей от ядра) будут работать исправно.In this scenario, when there is a release of a Windows build, most apps (those with no kernel dependencies) will continue to work.

Ввиду этого изменения Майкрософт рекомендует независимым поставщикам программных продуктов отделить выпуск своих приложений и их поддержку от выпуска определенных сборок Windows.In view of this change, Microsoft recommends that our ISV partners decouple their app release and support from specific Windows builds. Такой подход, ориентированный на поддержку приложений в течение их жизненного цикла, позволит лучше обслуживать наших общих клиентов.Our mutual customers are better served by an application lifecycle approach. Это означает, что выпущенная версия приложения будет поддерживаться в течение определенного времени независимо от числа промежуточных сборок Windows, выпущенных в этот период.This means when an application version is released it will be supported for a certain period of time irrespective of however many Windows builds are released in the interim. Независимые поставщики программных продуктов обязуются предоставлять поддержку конкретной версии приложения, пока обеспечивается поддержка приложения на протяжении его жизненного цикла.The ISV makes a commitment to provide support for that specific version of the app as long as it is supported in the lifecycle. Майкрософт применяет похожий подход для Windows, с особенностями которого можно ознакомиться здесь.Microsoft follows a similar lifecycle approach for Windows that can be referenced here.

Этот подход позволяет уменьшить объем усилий, затрачиваемых на соблюдение расписания выпуска приложений, привязанного к частоте выпуска Windows.This approach will reduce the burden of maintaining an app schedule that aligns with Windows releases. У независимых поставщиков программных продуктов должна быть возможность свободно выпускать компоненты и обновления с удобной для них частотой.ISV partners should be free to release features or updates at their own cadence. Мы считаем, что наши партнеры могут предоставлять обновления приложений своим клиентам независимо от частоты выпуска Windows.We feel that our partners can keep their customer base updated with the latest app updates independent of a Windows release. Кроме того, нашим пользователям не придется искать новую информацию о поддержке после каждого выпуска сборки Windows.In addition, our customers do not have to seek an explicit support statement whenever a Windows build is released. Ниже приведен пример заявления о поддержке, где описана поддержка для приложения в разных версиях ОС:Here is an example of a support statement that covers how an app may be supported across different versions of the OS:

Пример заявления о поддержке на протяжении жизненного цикла приложенияExample of an application lifecycle support statement

Компания Contoso — разработчик программного обеспечения, а также владелец популярного приложения Mojave, имеющего весомую долю в корпоративном секторе.Contoso is a software development company and is the owner of the popular Mojave app which has a major share in the enterprise space. Contoso выпускает следующее крупное обновление Mojave 14.0 и обязуется предоставлять базовую поддержку в течение трех лет с даты выпуска.Contoso releases its next major release Mojave 14.0 and declares mainstream support for a period of three years from the release date. В основной фазе поддержки все обновления и поддержка для лицензионного продукта будут предоставляться бесплатно.During mainstream support all updates and support are complimentary for the licensed product. Contoso также будет оказывать расширенную поддержку в течение двух последующих лет, на протяжении которых пользователи смогут приобретать обновления и поддержку на льготных условиях.Contoso also declares an additional two years of extended support where customers can purchase updates and support for a grace period. После даты окончания срока действия расширенной поддержки предоставление поддержки этой версии продукта будет прекращено.Beyond the extended support end date this product version is no longer supported. В основной фазе поддержки Contoso будет предоставлять поддержку для Mojave 14.0 во всех выпущенных сборках Windows.During the period of mainstream support Contoso will support Mojave 14.0 on all released builds of Windows. Contoso также будет выпускать обновления для Mojave с необходимой частотой независимо от расписания выпусков ОС Windows.Contoso will also release updates to Mojave as necessary and independent of the Windows product releases.

В следующих разделах содержатся дополнительные сведения о мерах, которые Майкрософт принимает для сохранения совместимости базовой ОС.In the following sections, you will find additional information about the steps Microsoft takes to maintain the compatibility of the underlying OS. Также вы найдете инструкции, которые помогут вам сохранять совместимость комбинированной ОС и экосистемы приложений.You will also find guidance on steps you can take to help maintain the compatibility of the combined OS and app ecosystem. Ниже приведен раздел о том, как использовать сборки фокус-тестирования Windows для обнаружения ухудшений работы приложений до выпуска сборки Windows.There is a section on how to leverage Windows flighting builds to detect app regressions before a Windows build is released. Наконец, мы расскажем о том, как мы используем инструментирование и основанный на телеметрии подход для повышения качества сборок Windows.Lastly, we describe how we use an instrumentation and telemetry-driven approach to increase the quality of Windows builds. Мы рекомендуем независимым поставщикам программных продуктов применять похожий подход при работе со своим портфелем приложений.We recommend ISVs adopt a similar approach with their app portfolio.

Основные изменения, внесенные в Windows с момента выхода Windows 7, для обеспечения совместимости приложенийKey changes since Windows 7 to ensure app compatibility

Мы понимаем, что задача обеспечения совместимости очень важна для разработчиков.We understand that compatibility matters to developers. Независимые поставщики программных продуктов и разработчики хотят, чтобы их приложения работали ожидаемым образом во всех поддерживаемых версиях операционной системы Windows.ISVs and developers want to ensure their apps will run as expected on all supported versions of the Windows OS. Для потребителей и организаций совместимость также играет ключевую роль в контексте инвестиций — они хотят, чтобы приложения, за которые они заплатили, продолжали работать без перебоев.Consumers and businesses have a key investment here—they want to ensure that the apps they have paid for will continue to work. Мы знаем, что совместимость является основным критерием в вопросе принятия решений о покупке.We know that compatibility is the primary criteria for purchase decisions. Хорошо написанные приложения, созданные на основе лучших рекомендаций, будут требовать внесения гораздо меньшего объема изменений в код при выпуске новой версии Windows, а также обеспечивать снижение степени фрагментации. Такие приложения дешевле обслуживать с технической точки зрения, и время их вывода на рынок можно будет уменьшить.Apps that are well written based on best practices will lead to much less code churn when a new Windows version is released and will reduce fragmentation—these apps have a reduced engineering investment to maintain, and a faster time to market.

В период использования Windows 7 к решению проблем совместимости применялся реактивный подход.In the Windows 7 timeframe, compatibility was very much a reactive approach. Работая над Windows 8, мы взглянули на эту задачу под другим углом и сконцентрировались на том, чтобы совместимость была заложена в ОС изначально, а не являлась доработкой.In Windows 8, we started looking at this differently, working within Windows to ensure that compatibility was by design rather than an afterthought. Сейчас Windows 10 обладает самыми широкими предварительно встроенными возможностями совместимости по сравнению с остальными версиями ОС.Windows 10 is the most compatible-by-design version of the OS to date. Нам удалось добиться этого благодаря следующему.Here are some key ways we accomplished this:

  • Телеметрия приложений: помогает нам понять, насколько приложение является востребованным в экосистеме Windows для проверки его совместимости.App telemetry: This helps us understand app popularity in the Windows ecosystem to inform compatibility testing.
  • Сотрудничество с независимыми поставщиками программных продуктов: прямая работа с внешними партнерами по предоставлению им данных и оказанию поддержки в устранении неисправностей, с которыми сталкиваются наши пользователи.ISV partnerships: Work directly with external partners to provide them with data and help fix issues that our users experience.
  • Проектные проверки, выявление несоответствий на ранних стадиях разработки: сотрудничество с рабочими группами, которые занимаются разработкой функций, для уменьшения числа критических изменений, вносимых в Windows.Design reviews, upstream detection: Partner with feature teams to reduce the number of breaking changes in Windows. Проверка совместимости стала обязательным этапом для групп по разработке функций.Compatibility review is a gate that our feature teams must pass.
  • Связь: более строгий контроль изменений API и усовершенствованный механизм взаимодействия.Communication: Tighter control over API changes and improved communication.
  • Фокус-тестирование и цикл сбора отзывов и предложений: участники программы предварительной оценки Windows получают сборки, прошедшие фокус-тестирование, помогая нам эффективнее выявлять проблемы совместимости до выпуска окончательной сборки.Flighting and feedback loop: Windows insiders receive flighted builds that help improve our ability to find compatibility issues before a final build is released to customers. Такая обратная связь не только позволяет нам выявлять ошибки, но и гарантирует, что мы предоставляем нашим пользователям нужные функции.This feedback process not only exposes bugs, but ensures we are shipping features our users want.

Рекомендации для обеспечения совместимости приложенийBest practices for app compatibility

Майкрософт собирает данные диагностики и сведения об использовании, чтобы выявлять и устранять проблемы, совершенствовать продукты и услуги, а также предоставлять персонализированное обслуживание.Microsoft uses diagnostic and usage data to identify and troubleshoot problems, improve our products and services, and provide our users with personalized experiences. К сведениям об использовании также относятся данные о приложениях, которые выполняются на компьютерах в экосистеме Windows.The usage data we collect also extends to the apps that PCs in the Windows ecosystem are running. В зависимости от того, с чем работают наши пользователи, мы создаем список тестирования этих приложений, устройств и драйверов для их проверки на предмет совместимости с новыми версиями ОС.Based on what our customers use, we build our list to test these apps, devices, and drivers against new versions of the Windows OS. На сегодняшний день в Windows 10 реализованы самые широкие возможности совместимости по сравнению с остальными версиями ОС и она обладает совместимостью на уровне 90 % с тысячами популярных приложений.Windows 10 has been the most compatible version of Windows to-date, with over 90% compatibility against thousands of popular apps. Рабочая группа, занимающаяся вопросами совместимости Windows, часто связывается с независимыми поставщиками программных продуктов, сотрудничающими с нами, чтобы сообщить о найденных проблемах. Поэтому мы и наши партнеры можем совместно создавать решения.The Windows Compatibility team commonly reaches out to our ISV partners to provide feedback if issues are discovered, so that we can partner together on solutions. В идеальном варианте мы хотели бы, чтобы наши общие клиенты могли без труда обновлять Windows без ущерба для возможностей как использующейся операционной системы, так и приложений, от которых зависит производительность или досуг пользователей.Ideally, we’d like our common customers to be able to update Windows seamlessly and without losing functionality in either their OS or the apps they depend on for their productivity or entertainment.

Следующие разделы содержат ряд рекомендаций Майкрософт по обеспечению совместимости ваших приложений c Windows 10.The following sections contain some best practices Microsoft recommends so you can ensure your apps are compatible with Windows 10.

Проверка версии WindowsWindows version check

Версия ОС была изменена (повышена) вместе с выпуском Windows 10.The OS version has been incremented with Windows 10. Это значит, что внутренний номер версии был изменен на 10.0.This means that the internal version number has been changed to 10.0. Как и раньше, мы хотим сделать все возможное для обеспечения совместимости с приложениями и устройствами после изменения номера версии ОС.As in the past, we go to great lengths to maintain application and device compatibility after an OS version change. Для большинства категорий приложений (без зависимостей ядра) изменение не окажет отрицательное влияние на функциональные возможности приложений, и существующие приложения будут и дальше работать нормально в среде Windows 10.For most app categories (without any kernel dependencies), the change will not negatively impact app functionality, and existing apps will continue to work fine on Windows 10.

Проявление этого изменения будет зависеть от конкретного приложения.The manifestation of this change is app-specific. Это означает, что любое приложение, выполняющее непосредственную проверку версии ОС, в ответ на запрос будет получать ответ с указанием более высокого номера версии, что может привести к возникновению одной или нескольких ситуаций, описанных ниже:This means any app that specifically checks for the OS version will get a higher version number, which can lead to one or more of the following situations:

  • Установщик приложения не сможет установить приложение, и оно может не запуститься.App installers might not be able to install the app, and apps might not be able to start.
  • Приложения могут работать нестабильно или со сбоями.Apps might become unstable or crash.
  • Приложения могут создавать сообщения об ошибках, но продолжать работать в штатном режиме.Apps might generate error messages, but continue to function properly.

Некоторые приложения выполняют проверку номера версии ОС и просто передают пользователям предупреждение.Some apps perform a version check and simply pass a warning to users. Но есть приложения, работа которых очень сильно зависит от результатов проверки номера версии ОС (в драйверах или в режиме ядра для предотвращения обнаружения номера версии).However, there are apps that are bound very tightly to a version check (in the drivers, or in kernel mode to avoid detection). В этих случаях при обнаружении несовместимой версии приложение запустить не удастся.In these cases, the app will fail if an incorrect version is found. Поэтому вместо проверки версии мы рекомендуем использовать один из следующих подходов.Rather than a version check, we recommend one of the following approaches:

  • Если приложение зависит от конкретной функции API, убедитесь, что вы используете правильную версию API.If the app is dependent on specific API functionality, ensure you target the correct API version.
  • Убедитесь, что обнаружение изменения выполняется с помощью APISet или другого общедоступного API и номер версии не используется в качестве признака некоторого компонента или исправления.Ensure you detect the change via APISet or another public API, and do not use the version as a proxy for some feature or fix. Если есть критические изменения и правильная проверка невозможна, можно достоверно утверждать об обнаружении ошибки.If there are breaking changes and a proper check is not exposed, then that is a bug.
  • Убедитесь, что приложение НЕ ВЫПОЛНЯЕТ проверку версии нестандартными способами, например через реестр, версии файлов, начальные номера версий ПО, в режиме ядра, через драйверы или другим образом.Ensure the app does NOT check for version in odd ways, such as via the registry, file versions, offsets, kernel mode, drivers, or other means. Если приложению необходимо проверить версию, используйте API-интерфейсы GetVersion, которые будут возвращать основной и вспомогательный номера, а также номер сборки.If the app absolutely needs to check the version, use the GetVersion APIs, which should return the major, minor, and build number.
  • При использовании API-интерфейса GetVersion следует помнить, что поведение этого интерфейса изменилось, начиная с Windows 8.1.If you are using the GetVersion API, remember that the behavior of this API has changed since Windows 8.1.

Если у вас есть такие приложения, как антивредоносное ПО или брандмауэры, разбор проблем их совместимости необходимо выполнять по стандартным каналам предоставления обратной связи и через программу предварительной оценки Windows.If you own apps such as antimalware or firewall apps, you should work through your usual feedback channels and via the Windows Insider program.

Недокументированные APIUndocumented APIs

Ваши приложения не должны вызывать недокументированные API-интерфейсы Windows или зависеть от определенных операций экспорта файлов либо разделов реестра Windows.Your apps should not call undocumented Windows APIs, or take dependency on specific Windows file exports or registry keys. Это может привести к нарушению работы функций, потере данных и возникновению потенциальных проблем с безопасностью.This can lead to broken functionality, data loss, and potential security issues. Если для работы вашего приложения требуется недоступная функция, сообщите об этом по стандартным каналам предоставления обратной связи и через программу предварительной оценки Windows.If there is functionality your app requires that is not available, this is an opportunity to provide feedback through your usual feedback channels and via the Windows Insider program.

Разработка приложений универсальной платформы Windows и приложений CentennialDevelop Universal Windows Platform (UWP) and Centennial apps

Мы рекомендуем всем независимым поставщикам программных продуктов для Win32 двигаться вперед и разрабатывать приложения универсальной платформы Windows и, в частности, приложения Centennial.We encourage all Win32 app ISVs to develop Universal Windows Platform (UWP) and, specifically, Centennial apps moving forward. По сравнению с использованием традиционных установщиков Win32 разработка таких пакетов приложений обеспечивает весомые преимущества.There are great benefits to developing these app packages rather than using traditional Win32 installers. Приложения UWP также поддерживаются Microsoft Store, чтобы вы могли предоставлять пользователям обновленные версии приложений в автоматическом режиме, снижая расходы на поддержку.UWP apps are also supported in the Microsoft Store, so it’s easier for you to update your users to a consistent version automatically, lowering your support costs.

Если ваши типы приложений Win32 не работают с моделью Centennial, мы настоятельно рекомендуем использовать правильный установщик и выполнять его комплексную проверку на работоспособность.If your Win32 app types do not work with the Centennial model, we highly recommend that you use the right installer and ensure this is fully tested. Установщик — это первая среда взаимодействия пользователя или клиента с вашим приложением. Поэтому убедитесь, что он работает правильно.An installer is your user or customer’s first experience with your app, so ensure that this works well. Слишком часто он работает некорректно или тестируется недостаточно тщательно и не для всех случаев использования.All too often, this doesn’t work well or it hasn’t been fully tested for all scenarios. Комплект сертификации приложений для Windows поможет проверить процедуру установки и удаления приложения Win32, выявить использование недокументированных API-интерфейсов, а также другие распространенные проблемы, связанные с производительностью, перед тем как это сделают пользователи.The Windows App Certification Kit can help you test the install and uninstall of your Win32 app and help you identify use of undocumented APIs, as well as other basic performance-related best-practice issues, before your users do.

РекомендацииBest practices:

  • Используйте установщики, которые работают в среде как 32-, так и 64-разрядных версий Windows.Use installers that work for both 32-bit and 64-bit versions of Windows.
  • Проектируйте установщики с учетом возможности их запуска разными способами (пользователем или в автоматическом режиме).Design your installers to run on multiple scenarios (user or machine level).
  • Храните все распространяемые компоненты Windows в исходном пакете — в случае перепаковки этих компонентов установщик может быть поврежден.Keep all Windows redistributables in the original packaging – if you repackage these, it’s possible that this will break the installer.
  • Разрабатывайте установщики в соответствии с расписанием — разработчики часто забывают добавлять установщики в состав пакета поставки программного продукта в ходе жизненного цикла разработки ПО.Schedule development time for your installers—these are often overlooked as a deliverable during the software development lifecycle.

Оптимизированные стратегии тестирования и фокус-тестированиеOptimized test strategies and flighting

ОС Windows, прошедшая фокус-тестирование, это промежуточная версия сборки. Она предоставляется участникам программы предварительной оценки Windows до того, как для конечная сборка станет доступна для массового потребителя.Windows OS flighting refers to the interim builds available to Windows Insiders before a final build is released to the general population. Чем больше участников программы предварительной оценки тестирует возможности этих промежуточных сборок, тем больше обратной отзывов мы получаем относительно качества сборки, совместимости и т. д. Это помогает нам повышать качество окончательных сборок.The more Insiders that flight these interim builds, the more feedback we receive on the build quality, compatibility, etc., and this helps improve quality of the final builds. Вы можете принять участие в этой программе фокус-тестирования, чтобы проверить свои приложения на правильность работы в среде промежуточных сборок ОС.You can participate in this flighting program to ensure that your apps work as expected on iterative builds of the OS. Мы также рекомендуем вам сообщать нам о своих впечатлениях о работе тестируемых сборок, о проблемах, с которыми вы столкнулись и т. д.We also encourage you to provide feedback on how these flighted builds are working for you, issues you run into, and so on.

Если ваше приложение размещено в Магазине, вы можете выполнять его фокус-тестирование через Магазин. Это значит, что ваше приложение будет доступно для установки участникам программы предварительной оценки Windows.If your app is in the Store, you can flight your app via the Store, which means that your app will be available for our Windows Insider population to install. Пользователи смогут установить ваше приложение, и вы получите предварительные отзывы о работе приложения до его выпуска для массового потребителя.Users can install your app and you can receive preliminary feedback on your app before you release it to the general population. В разделах ниже описаны действия, которые необходимо выполнить для проверки совместимости ваших приложений с тестовыми сборками Windows.The follow sections outline the steps for testing your apps against Windows flighted builds.

Шаг 1. Зарегистрируйтесь в программе предварительной оценки Windows и примите участие в фокус-тестированииStep 1: Become a Windows Insider and participate in flighting

Будучи участником программы предварительной оценки Windows вы сможете определять будущее развития системы Windows — ваши отзывы помогут нам совершенствовать функции и возможности платформы.As a Windows Insider, you can help shape the future of Windows—your feedback will help us improve features and functionality in the platform. Это постоянно растущее сообщество, в котором можно взаимодействовать с другими любителями, общаться на форумах, обмениваться мнениями, а также узнавать о предстоящих событиях, доступных только для участников программы предварительной оценки.This is a vibrant community where you can connect with other enthusiasts, join forums, trade advice, and learn about upcoming Insider-only events.

Так как вы получите доступ к предварительным сборкам Windows 10, Windows 10 Mobile, а также новейшим пакетам Windows SDK и эмулятору, в вашем распоряжении будут все средства для создания замечательных приложений и изучения новых возможностей универсальной платформы Windows и Microsoft Store.Since you’ll have access to preview builds of Windows 10, Windows 10 Mobile, and the latest Windows SDK and Emulator, you’ll have all the tools at your disposal to develop great apps and explore what's new in the Universal Windows Platform and the Microsoft Store.

Также это отличная возможность создавать первоклассное оборудование с помощью предварительных сборок комплектов разработки оборудования, позволяющих разрабатывать универсальные драйверы для Windows.This is also a great opportunity to build great hardware, with preview builds of the hardware development kits so you can develop universal drivers for Windows. Кроме того, на поддерживаемых платформах разработки для Интернета вещей доступна IoT Core Insider Preview, чтобы вы могли создавать отличные интегрируемые решения с использованием универсальной платформы Windows.The IoT Core Insider Preview is also available on supported IoT development boards, so you can build amazing connected solutions using the Universal Windows Platform.

Прежде чем вы станете участником программы предварительной оценки Windows, учтите, что программа предназначена для:Before you become a Windows Insider, please note that participation is intended for users who:

  • пользователей, которые хотят оценить работу находящегося в разработке программного обеспечения;Want to try out software that’s still in development.
  • пользователей, готовых делиться отзывами и предложениями о работе программного обеспечения и платформы;Want to share feedback about the software and the platform.
  • пользователей, не возражающих против тестирования большого количества обновлений или дизайна пользовательского интерфейса, который может значительно изменяться с течением времени;Don’t mind lots of updates or a UI design that might change significantly over time.
  • пользователей, которые обладают продвинутыми навыками работы с компьютером, а также навыками поиска и устранения возникающих проблем, резервного копирования данных, форматирования жесткого диска, установки операционной системы с нуля или восстановления предыдущей версии ОС (при необходимости);Really know their way around a PC and feel comfortable troubleshooting problems, backing up data, formatting a hard drive, installing an operating system from scratch, or restoring an old one if necessary.
  • пользователей, которые знают, что из себя представляет файл ISO и умеют использовать его;Know what an ISO file is and how to use it.
  • пользователей, которые не будут устанавливать промежуточные сборки на компьютер или устройство, используемые для выполнения повседневных задач.Aren't installing it on their everyday computer or device.

Шаг 2. Протестируйте приложение в различных сценариях использованияStep 2: Test your scenarios

После обновления до тестовой сборки необходимо выполнить описанные ниже типовые проверки, чтобы приступить к тестированию и сбору отзывов.Once you have updated to a flighted build, the following are some sample test cases to help you get started on testing and gathering feedback. Большую часть этих проверок следует провести как в системах x86, так и в системах AMD64.For most of these tests, ensure you cover both x86 and AMD64 systems. Проверка чистой установкой: убедитесь, что ваше приложение является полностью работоспособным после чистой установки Windows 10.Clean install test: On a clean install of Windows 10, ensure your app is fully functional. Если ваше приложение не проходит эту проверку, а также проверку обновлением, возможно, причиной проблемы являются изменения базовой ОС или ошибки в приложении.If your app fails this test and the upgrade test, then it’s likely that the issue is caused by underlying OS changes or bugs in the app. Если анализ проблемы подтвердит первую из этих причин, обязательно сообщите об этом через программу предварительной оценки Windows.If after investigation, the former is the case, be sure to use the Windows Insider program to provide feedback and partner on solutions.

Проверка обновлением: убедитесь, что ваше приложение работает корректно после обновления с более ранней версии Windows (Windows 7 или Windows 8.1) до Windows 10.Upgrade Test: Check that your app works after upgrading from a down-level version of Windows (i.e. Windows 7 or Windows 8.1) to Windows 10. Приложение не должно вызывать откаты во время обновления и должно работать корректно после обновления — это является важнейшим условием беспроблемного обновления.Your app shouldn’t cause roll backs during upgrade, and should continue to work as expected after upgrade—this is crucial to achieve a seamless upgrade experience.

Проверка переустановкой: убедитесь, что работу функций приложения можно восстановить, переустановив приложение после обновления компьютера до Windows 10 с более ранней версии ОС.Reinstall Test: Ensure that app functionality can be restored by reinstalling your app after you upgrade the PC to Windows 10 from a down-level OS. Если приложение не прошло проверку обновлением и вам не удалось устранить причину этих проблем, это значит, что, возможно, восстановить работу функций поможет переустановка.If your app didn’t pass the upgrade test and you have not been able to narrow down the cause of these issues, it’s possible that a reinstall can restore lost functionality. Если приложение прошло проверку переустановкой, это свидетельствует о вероятности того, что некоторые части приложения не были перенесены в Windows 10.A passing reinstall test indicates that parts of the app may not have been migrated to Windows 10.

Проверка совместимости компонентов ОС и устройства: убедитесь, что приложение функционирует корректно, в случае если его работа зависит от определенных возможностей ОС.OS\Device Features Test: Ensure that your app works as expected if your app relies on specific functionality in the OS. Обычно следует проверять следующие области и компоненты, иногда на нескольких распространенных моделях компьютеров:Common areas for testing include the following, often against a selection of the commonly used PC models to ensure coverage:

  • звук;Audio
  • функции USB-устройств (клавиатура, мышь, флэш-накопитель, внешний жесткий диск и т. д.);USB device functionality (keyboard, mouse, memory stick, external hard disk, and so on)
  • BluetoothBluetooth
  • Графика и отображение (несколько мониторов, подключение к проектору, поворот экрана и т. д.).Graphics\display (multi-monitor, projection, screen rotation, and so on)
  • сенсорный экран (ориентация, экранная клавиатура, перо, жесты и т. д.);Touch screen (orientation, on-screen keyboard, pen, gestures, and so on)
  • Сенсорная панель (кнопки влево и вправо, касание, прокрутка и т. д.).Touchpad (left\right buttons, tap, scroll, and so on)
  • Перо (однократное и двойное касание, нажатие, удерживание, ластик и т. д.).Pen (single\double tap, press, hold, eraser, and so on)
  • Печать и сканированиеPrint\Scan
  • датчики (акселерометр, комплексные датчики и т. д.);Sensors (accelerometer, fusion, and so on)
  • КамераCamera

Шаг 3. Предоставление отзываStep 3: Provide feedback

Сообщите нам о том, как работает ваше приложение в тестовых сборках.Let us know how your app is performing against flighted builds. При обнаружении проблем в работе приложения во время тестирования регистрируйте ошибки на портале для партнеров, если у вас есть к нему доступ, или сообщайте о них представителю Майкрософт.As you discover issues with your app during testing, please log bugs via the partner portal if you have access, or through your Microsoft representative. Мы рекомендуем использовать эти сведения, чтобы мы сообща могли сделать взаимодействие с Windows и вашими приложениями удобнее для пользователей.We encourage this information so that we can build a quality experience for our users together.

Варианты обслуживания Windows 10 для обновленийWindows 10 servicing options for updates and upgrades