Développement d’applications pour Windows as a serviceApplication development for Windows as a service

S’applique àApplies to

  • Windows 10Windows 10
  • Windows 10 MobileWindows 10 Mobile
  • Windows 10 IoT StandardWindows 10 IoT Core

Dans l’environnement d’aujourd’hui, où les attentes des utilisateurs sont souvent déterminées par des expériences liées à des appareils spécifiques, les cycles de produit complets se mesurent en mois plutôt qu’en années.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. En outre, de nouvelles versions doivent être rendues disponibles en permanence, dont le déploiement ne doit avoir qu’un impact minimal sur les utilisateurs.Additionally, new releases must be made available on a continual basis, and must be deployable with minimal impact on users. Microsoft a conçu Windows 10 pour répondre à ces exigences, en implémentant une nouvelle approche en termes d’innovation, de développement et de livraison appelée Windows as a service (WaaS).Microsoft designed Windows 10 to meet these requirements by implementing a new approach to innovation, development, and delivery called Windows as a service (WaaS). La clé de la mise en place de cycles produit sensiblement plus courts tout en conservant des niveaux élevés de qualité est une approche innovante de la phase de test, centrée sur une communauté d’initiés, que Microsoft a implémentée pour 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. Cette communauté d’initiés, appelés « Windows Insiders », compte des millions d’utilisateurs dans le monde entier.The community, known as Windows Insiders, is comprised of millions of users around the world. Les Windows Insiders qui décident de rejoindre la communauté testent de nombreuses builds tout au long du cycle d’un produit, et leur feedback apporte à Microsoft un retour d’expérience via une méthodologie itérative nommée distribution de version d’évaluation.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.

Les builds distribuées en tant que versions d’évaluation permettent à l’équipe d’ingénieurs de Windows de recueillir des données importantes relatives aux performances des builds dans des conditions d’utilisation réelle.Builds distributed as flights provide the Windows engineering team with significant data regarding how well builds are performing in actual use. La distribution de version d’évaluation, avec la collaboration des Windows Insiders, permet également à Microsoft de tester les builds dans des environnements matériels, d’applications et de réseau sensiblement plus variés que par le passé, et d’identifier les problèmes beaucoup plus rapidement.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. Par conséquent, Microsoft estime que la phase de distribution de version d’évaluation axée sur la communauté permettra plus que jamais d’accélérer le rythme des innovations et d’améliorer la qualité des versions publiques.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.

Types et cadences des versions de Windows 10Windows 10 release types and cadences

Parallèlement à la publication de builds de version d’évaluation pour les Windows Insiders, Microsoft publie en permanence deux types de versions de Windows 10 destinées au grand public :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:

Les mises à jour des fonctionnalités installent les nouvelles fonctions, expériences et fonctionnalités sur des appareils exécutant déjà Windows 10.Feature updates install the latest new features, experiences, and capabilities on devices that are already running Windows 10. Ces mises à jour contenant une copie complète de Windows, elles permettent également aux clients d’installer Windows 10 sur des appareils exécutant déjà Windows 7 ou Windows 8.1, et sur de nouveaux appareils où aucun système d’exploitation n’est encore installé.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 prévoit de publier des mises à jour semestrielles.Microsoft expects to publish updates semi-annually.

Les mises à jour qualité contiennent les résolutions des problèmes de sécurité et des correctifs pour d’autres bogues importants.Quality updates deliver security issue resolutions and other important bug fixes. Elles sont fournies pour améliorer chaque fonctionnalité actuellement prise en charge, à une cadence d’une à plusieurs fois par mois.Quality updates will be provided to improve each feature currently in support, on a cadence of one or more times per month. Microsoft continuera à publier des mises à jour qualité le mardi (parfois appelées « Update Tuesday » ou « Patch Tuesday »).Microsoft will continue publishing quality updates on Update Tuesday (sometimes referred to as Patch Tuesday). En outre, Microsoft peut publier des mises à jour qualité supplémentaires pour Windows 10 en dehors des mardis si nécessaire, pour répondre aux besoins des clients.Additionally, Microsoft may publish additional quality updates for Windows 10 outside the Update Tuesday process when required to address customer needs.

Au cours du développement de Windows 10, Microsoft a simplifié l’ingénierie et le cycle de publication des produits Windows, afin de pouvoir fournir plus rapidement les fonctions, expériences et fonctionnalités souhaitées par les clients.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. Nous avons également créé de nouvelles façons de fournir et d’installer les mises à jour des fonctionnalités et les mises à jour qualité, qui simplifient les déploiements et la gestion continue, élargissent la base des employés qui peuvent être tenus informés des dernières fonctionnalités et expériences de Windows, et qui réduisent le coût total de possession.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. Nous avons donc implémenté de nouvelles options de maintenance (appelées Canal semi-annuel et Long-Term Servicing Channel (LTSC)) qui offrent des solutions pragmatiques permettant de maintenir plus d’appareils à jour dans les environnements d’entreprise qu’auparavant.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.

Le tableau ci-après décrit les différents canaux de maintenance et leurs principaux attributs.The following table shows describes the various servicing channels and their key attributes.

Option de maintenanceServicing option Disponibilité de nouvelles mises à niveau de fonctionnalités pour installationAvailability of new feature upgrades for installation Durée de vie de maintenanceServicing lifetime Principaux avantagesKey benefits Éditions prises en chargeSupported editions
Canal semi-annuel (ciblé)Semi-Annual Channel (Targeted) Immédiatement après la première publication par MicrosoftImmediately after first published by Microsoft 18 mois18 months Met les nouvelles fonctionnalités à la disposition des utilisateurs dès que possibleMakes new features available to users as soon as possible Famille, Professionnel, Éducation, Entreprise, Mobile, IoT Standard, Windows 10 IoT Standard Professionnel (IoT Standard Professionnel)Home, Pro, Education, Enterprise, Mobile, IoT Core, Windows 10 IoT Core Pro (IoT Core Pro)
Canal semi-annuelSemi-Annual Channel Environ 4 mois après la première publication par MicrosoftApproximately 4 months after first published by Microsoft 18 mois à compter de la première publication18 months from when first published Offre plus de temps pour tester les nouvelles mises à niveau de fonctionnalités avant le déploiementProvides additional time to test new feature upgrades before deployment Professionnel, Éducation, Entreprise, Mobile Entreprise, IoT Standard ProfessionnelPro, Education, Enterprise, Mobile Enterprise, IoT Core Pro
Canal de maintenance à long terme (LTSC)Long-Term Servicing Channel (LTSC) Immédiatement après la publication par MicrosoftImmediately after published by Microsoft 10 ans10 Years Permet le déploiement à long terme de versions sélectionnées de Windows 10 dans des configurations impliquant peu de changementsEnables long-term deployment of selected Windows 10 releases in low-change configurations Entreprise LTSBEnterprise LTSB

Pour plus d’informations, consultez Options de maintenance de Windows 10 pour les mises à jour et les mises à niveau.For more information, see Windows 10 servicing options for updates and upgrades.

Prise en charge des applications dans Windows as a serviceSupporting apps in Windows as a service

L’approche traditionnelle de prise en charge des applications consiste à publier une nouvelle version de l’application en réponse à une publication de Windows.The traditional approach for supporting apps has been to release a new app version in response to a Windows release. Elle part du principe qu’il existe des modifications fondamentales dans le système d’exploitation sous-jacent, qui peuvent potentiellement provoquer une régression de l’application.This assumes that there are breaking changes in the underlying OS that could potentially cause a regression with the application. Ce modèle implique un cycle de développement et de validation dédié qui nécessite que nos partenaires éditeurs de logiciels indépendants s’alignent sur la cadence de publication de Windows.This model involves a dedicated development and validation cycle that requires our ISV partners to align with the Windows release cadence.

Dans le modèle Windows as a service, Microsoft s’engage à maintenir la compatibilité du système d’exploitation sous-jacent.In the Windows as a service model, Microsoft is making a commitment to maintaining the compatibility of the underlying OS. Cela signifie que Microsoft s’efforce, dans une démarche concertée, de n’introduire aucune modification cassante nuisant à l’écosystème d’applications.This means Microsoft will make a concerted effort to ensure that there are no breaking changes that impact the app ecosystem negatively. Dans ce scénario, quand une nouvelle build de Windows est publiée, la plupart des applications (celles qui sont dépourvues de dépendances vis-à-vis du noyau) continuent de fonctionner.In this scenario, when there is a release of a Windows build, most apps (those with no kernel dependencies) will continue to work.

Dans la perspective de ce changement, nous recommandons à nos partenaires éditeurs de logiciels indépendants de dissocier la publication et le support de leur application des builds Windows spécifiques.In view of this change, Microsoft recommends that our ISV partners decouple their app release and support from specific Windows builds. Une approche de type cycle de vie des applications convient mieux à nos clients mutuels.Our mutual customers are better served by an application lifecycle approach. Cela signifie que quand une version d’une application est publiée, elle reste prise en charge pendant une période donnée, indépendamment du nombre de versions Windows publiées pendant ce laps de temps.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. L’éditeur de logiciels indépendant s’engage à assurer la prise en charge de cette version spécifique de l’application tant qu’elle est prise en charge dans le cycle de vie.The ISV makes a commitment to provide support for that specific version of the app as long as it is supported in the lifecycle. Pour Windows, Microsoft suit une approche du cycle de vie similaire, qui peut être référencée ici.Microsoft follows a similar lifecycle approach for Windows that can be referenced here.

Cette approche permet de réduire la charge de la maintenance d’une planification d’application qui s’aligne sur les publications de Windows.This approach will reduce the burden of maintaining an app schedule that aligns with Windows releases. Les partenaires éditeurs de logiciels indépendants doivent pouvoir publier librement des fonctionnalités ou des mises à jour à leur propre rythme.ISV partners should be free to release features or updates at their own cadence. Nous pensons que nos partenaires peuvent tenir informée leur clientèle des dernières mises à jour des applications indépendamment d’une publication de Windows.We feel that our partners can keep their customer base updated with the latest app updates independent of a Windows release. Par ailleurs, nos clients n’ont pas à rechercher une déclaration de prise en charge explicite à chaque publication d’une build Windows.In addition, our customers do not have to seek an explicit support statement whenever a Windows build is released. Voici un exemple de déclaration de prise en charge qui indique dans quelle mesure une application peut être prise en charge dans différentes versions du système d’exploitation :Here is an example of a support statement that covers how an app may be supported across different versions of the OS:

Exemple de déclaration de prise en charge du cycle de vie d’une applicationExample of an application lifecycle support statement

La société de développement logiciel Contoso est propriétaire de l’application populaire Mojave, qui occupe une place importante dans l’entreprise.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 publie sa prochaine version majeure de Mojave 14.0 et déclare une prise en charge standard de trois ans à compter de la date de publication.Contoso releases its next major release Mojave 14.0 and declares mainstream support for a period of three years from the release date. Pendant la prise en charge standard, toutes les mises à jour et le support sont gratuits pour le produit sous licence.During mainstream support all updates and support are complimentary for the licensed product. Contoso déclare également deux années supplémentaires de support étendu, pendant lesquelles les clients peuvent acheter des mises à jour et bénéficier du support pendant une période de grâce.Contoso also declares an additional two years of extended support where customers can purchase updates and support for a grace period. Au-delà de la date de fin du support étendu, le support de cette version du produit n’est plus assuré.Beyond the extended support end date this product version is no longer supported. Pendant la période de prise en charge standard, Contoso prend en charge Mojave 14.0 sur l’ensemble des builds de Windows publiées.During the period of mainstream support Contoso will support Mojave 14.0 on all released builds of Windows. Contoso publie également des mises à jour pour Mojave selon les besoins et indépendamment des versions du produit Windows.Contoso will also release updates to Mojave as necessary and independent of the Windows product releases.

Les sections suivantes contiennent des informations supplémentaires sur les mesures prises par Microsoft pour maintenir la compatibilité du système d’exploitation sous-jacent.In the following sections, you will find additional information about the steps Microsoft takes to maintain the compatibility of the underlying OS. Vous y trouverez également des conseils sur les mesures que vous pouvez prendre pour maintenir la compatibilité du système d’exploitation et de l’écosystème des applications.You will also find guidance on steps you can take to help maintain the compatibility of the combined OS and app ecosystem. Une section indique également comment tirer parti des builds de distribution de version d’évaluation de Windows afin de détecter les régressions d’application avant la publication d’une build Windows.There is a section on how to leverage Windows flighting builds to detect app regressions before a Windows build is released. Pour finir, nous expliquons comment utiliser une approche pilotée par l’instrumentation et la télémétrie afin d’augmenter la qualité des builds Windows.Lastly, we describe how we use an instrumentation and telemetry-driven approach to increase the quality of Windows builds. Nous recommandons aux éditeurs de logiciels indépendants d’adopter une approche similaire avec leur portefeuille d’applications.We recommend ISVs adopt a similar approach with their app portfolio.

Principales modifications depuis Windows 7 pour assurer la compatibilité des applicationsKey changes since Windows 7 to ensure app compatibility

Nous comprenons que la compatibilité est importante pour les développeurs.We understand that compatibility matters to developers. Les éditeurs de logiciels indépendants et les développeurs veulent garantir que leurs applications s’exécuteront comme prévu sur toutes les versions prises en charge du système d’exploitation Windows.ISVs and developers want to ensure their apps will run as expected on all supported versions of the Windows OS. L’investissement des consommateurs et des entreprises est essentiel ici : ils veulent être sûrs que les applications qu’ils ont payées continueront de fonctionner.Consumers and businesses have a key investment here—they want to ensure that the apps they have paid for will continue to work. Nous savons que la compatibilité est le principal critère motivant les décisions d’achat.We know that compatibility is the primary criteria for purchase decisions. Les applications qui sont écrites correctement en respectant les bonnes pratiques entraînent beaucoup moins d’évolution du code quand une nouvelle version de Windows est publiée et réduisent la fragmentation. Pour ces applications, l’investissement en termes d’ingénierie est réduit pour la maintenance, et le délai de commercialisation est plus court.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.

À l’époque de Windows 7, la compatibilité était une approche extrêmement réactive.In the Windows 7 timeframe, compatibility was very much a reactive approach. Dans Windows 8, nous avons commencé à l’envisager différemment, en travaillant dans Windows pour nous assurer que la compatibilité tenait plus de la conception que d’un ajout ultérieur.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 est la version du système d’exploitation relevant de la conception la plus compatible à ce jour.Windows 10 is the most compatible-by-design version of the OS to date. Voici quelques moyens clés qui nous ont permis d’atteindre cet objectif :Here are some key ways we accomplished this:

  • Télémétrie applicative : Elle nous permet de comprendre la popularité des applications dans l’écosystème Windows afin de fournir des informations sur les tests de compatibilité.App telemetry: This helps us understand app popularity in the Windows ecosystem to inform compatibility testing.
  • Partenariats avec des éditeurs de logiciels indépendants : Nous collaborons directement avec des partenaires externes pour leur fournir des données et les aider à résoudre les problèmes rencontrés par nos utilisateurs.ISV partnerships: Work directly with external partners to provide them with data and help fix issues that our users experience.
  • Vérifications de la conception, détection en amont : Nous travaillons en partenariat avec les équipes chargées des fonctionnalités pour réduire le nombre de modifications fondamentales dans Windows.Design reviews, upstream detection: Partner with feature teams to reduce the number of breaking changes in Windows. La vérification de la compatibilité est l’une des étapes que doivent effectuer nos équipes chargées des fonctionnalités.Compatibility review is a gate that our feature teams must pass.
  • Communication : Contrôle plus étroit des modifications des API et communication améliorée.Communication: Tighter control over API changes and improved communication.
  • Distribution de version d’évaluation et système de remontée de l’information : Les Windows Insiders reçoivent des builds avec version d’évaluation, qui nous aident à améliorer notre capacité à trouver les problèmes de compatibilité avant la publication d’une version finale.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. Ce processus de feedback ne révèle pas seulement les bogues : il nous permet également de garantir que nous fournissons à nos clients les fonctionnalités qu’ils souhaitent.This feedback process not only exposes bugs, but ensures we are shipping features our users want.

Bonnes pratiques en matière de compatibilité des applicationsBest practices for app compatibility

Nous utilisons des données de diagnostic et d’utilisation pour identifier et résoudre les problèmes, améliorer nos produits et services, et proposer à nos utilisateurs des expériences personnalisées.Microsoft uses diagnostic and usage data to identify and troubleshoot problems, improve our products and services, and provide our users with personalized experiences. Les données d’utilisation que nous collectons concernent également les applications exécutées sur les PC dans l’écosystème Windows.The usage data we collect also extends to the apps that PCs in the Windows ecosystem are running. En fonction de l’utilisation de nos clients, nous créons une liste pour tester ces applications, appareils et pilotes dans les nouvelles versions du système d’exploitation Windows.Based on what our customers use, we build our list to test these apps, devices, and drivers against new versions of the Windows OS. À ce jour, Windows 10 est la version de Windows la plus compatible, à plus de 90 % de compatibilité avec des milliers d’applications courantes.Windows 10 has been the most compatible version of Windows to-date, with over 90% compatibility against thousands of popular apps. L’équipe de compatibilité de Windows est à l’écoute de nos partenaires éditeurs de logiciels indépendants pour leur fournir un feedback si des problèmes sont détectés, afin que nous puissions travailler en partenariat sur des solutions.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. Dans l’idéal, nous voulons que nos clients communs soient en mesure de mettre à jour Windows de façon transparente et sans perte de fonctionnalités dans leur système d’exploitation, ou dans les applications dont ils dépendent pour leur productivité ou leurs loisirs.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.

Les sections suivantes contiennent certaines recommandations de Microsoft pour vous permettre de garantir la compatibilité de vos applications avec Windows 10.The following sections contain some best practices Microsoft recommends so you can ensure your apps are compatible with Windows 10.

Vérification de la version de WindowsWindows version check

La version du système d’exploitation a été incrémentée pour passer à Windows 10.The OS version has been incremented with Windows 10. Cela signifie que le numéro de version interne a été changé en 10.0.This means that the internal version number has been changed to 10.0. Comme précédemment, nous faisons le maximum pour maintenir la compatibilité entre les applications et les appareils après un changement de version du système d’exploitation.As in the past, we go to great lengths to maintain application and device compatibility after an OS version change. Pour la plupart des catégories d’applications (sans dépendances vis-à-vis du noyau), cette modification n’a pas d’impact négatif sur les fonctionnalités des applications, et les applications existantes continuent de fonctionner parfaitement sur 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.

La manifestation de cette modification est propre à l’application.The manifestation of this change is app-specific. En d’autres termes, une application qui vérifie spécifiquement la version du système d’exploitation obtient un numéro de version supérieur, ce qui peut conduire aux situations suivantes :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:

  • Les programmes d’installation des applications peuvent ne pas être en mesure d’installer les applications, ou les applications peuvent être dans l’impossibilité de démarrer.App installers might not be able to install the app, and apps might not be able to start.
  • Les applications peuvent devenir instables ou se planter.Apps might become unstable or crash.
  • Les applications peuvent générer des messages d’erreur, tout en continuant de fonctionner correctement.Apps might generate error messages, but continue to function properly.

Certaines applications effectuent une vérification de version et transmettent simplement un avertissement aux utilisateurs.Some apps perform a version check and simply pass a warning to users. Cependant, certaines d’entre elles sont liées très étroitement à une vérification de la version (dans les pilotes ou en mode noyau pour éviter la détection).However, there are apps that are bound very tightly to a version check (in the drivers, or in kernel mode to avoid detection). Dans ce cas, les applications échouent si une version incorrecte est détectée.In these cases, the app will fail if an incorrect version is found. Au lieu d’une vérification de la version, nous vous recommandons une des approches suivantes :Rather than a version check, we recommend one of the following approaches:

  • Si l’application dépend de fonctionnalités d’API spécifiques, veillez à cibler la version d’API correcte.If the app is dependent on specific API functionality, ensure you target the correct API version.
  • Veillez à détecter la modification via APISet ou une autre API publique, et n’utilisez pas la version comme proxy pour certaines fonctionnalités ou certains correctifs.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. En cas de changements cassants, et si une vérification correcte n’est pas exposée, il s’agit d’un bogue.If there are breaking changes and a proper check is not exposed, then that is a bug.
  • Veillez à ce que l’application ne vérifie PAS la version de façon non standard, par exemple via le Registre, les versions des fichiers, des décalages, le mode noyau, les pilotes ou d’autres façons.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. Si l’application doit absolument vérifier la version, utilisez les API GetVersion, qui doivent retourner le numéro majeur, le numéro mineur et le numéro de build.If the app absolutely needs to check the version, use the GetVersion APIs, which should return the major, minor, and build number.
  • Si vous utilisez l’API GetVersion, n’oubliez pas que le comportement de cette API a changé depuis Windows 8.1.If you are using the GetVersion API, remember that the behavior of this API has changed since Windows 8.1.

Si vous avez des applications comme des applications anti-programme malveillant ou de pare-feu, vous devez utiliser vos canaux de feedback habituels et le programme Windows Insider.If you own apps such as antimalware or firewall apps, you should work through your usual feedback channels and via the Windows Insider program.

API non documentéesUndocumented APIs

Vos applications ne doivent pas appeler des API Windows non documentées ni dépendre d’exportations de fichiers spécifiques ou de clés de Registre de Windows.Your apps should not call undocumented Windows APIs, or take dependency on specific Windows file exports or registry keys. Cela peut aboutir à des fonctionnalités qui ne marchent plus, à la perte de données et à des problèmes de sécurité potentiels.This can lead to broken functionality, data loss, and potential security issues. Si des fonctionnalités nécessaires à votre application ne sont pas disponibles, vous pouvez fournir un feedback via vos canaux de feedback habituels et via le programme Windows Insider.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.

Développer des applications Centennial et de plateforme Windows universelle (UWP)Develop Universal Windows Platform (UWP) and Centennial apps

Nous encourageons tous les éditeurs d’applications Win32 indépendants à développer dorénavant des applications de plateforme Windows universelle (UWP) et, plus spécifiquement, des applications Centennial.We encourage all Win32 app ISVs to develop Universal Windows Platform (UWP) and, specifically, Centennial apps moving forward. Les avantages sont nombreux à développer ces packages d’applications au lieu d’utiliser des programmes d’installation Win32 traditionnels.There are great benefits to developing these app packages rather than using traditional Win32 installers. Comme les applications UWP sont également prises en charge dans le Microsoft Store, il vous est plus facile de mettre à jour automatiquement les applications de vos utilisateurs vers une version cohérente, ce qui réduit vos coûts de support technique.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.

Si vos types d’application Win32 ne fonctionnent pas avec le modèle Centennial, nous vous recommandons vivement d’utiliser le programme d’installation approprié et de vous assurer qu’il a été complètement testé.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. Un programme d’installation représente la première expérience de votre utilisateur ou de votre client avec votre application : vous devez donc garantir son bon fonctionnement.An installer is your user or customer’s first experience with your app, so ensure that this works well. Il arrive trop souvent qu’il ne fonctionne pas correctement ou qu’il n’a pas été complètement testé pour tous les scénarios.All too often, this doesn’t work well or it hasn’t been fully tested for all scenarios. Le Kit de certification des applications Windows peut vous aider à tester l’installation et la désinstallation de votre application Win32. Il peut également vous permettre d’identifier l’utilisation d’API non documentées ainsi que d’autres problèmes de base liés aux performances, avant vos utilisateurs.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.

Meilleures pratiques :Best practices:

  • Utilisez des programmes d’installation qui fonctionnent à la fois pour les versions 32 bits et 64 bits de Windows.Use installers that work for both 32-bit and 64-bit versions of Windows.
  • Concevez vos programmes d’installation pour qu’ils fonctionnent dans plusieurs scénarios (niveau de l’utilisateur ou de l’ordinateur).Design your installers to run on multiple scenarios (user or machine level).
  • Conservez tous les composants redistribuables de Windows dans le package d’origine. Si vous réorganisez le package de ces composants, il se peut que le programme d’installation ne fonctionne pas correctement.Keep all Windows redistributables in the original packaging – if you repackage these, it’s possible that this will break the installer.
  • Planifiez le temps de développement de vos programmes d’installation ; ils sont souvent négligés en tant que livrables au cours du cycle de développement logiciel.Schedule development time for your installers—these are often overlooked as a deliverable during the software development lifecycle.

Stratégies de test et distribution de version d’évaluation optimiséesOptimized test strategies and flighting

La distribution de version d’évaluation du système d’exploitation Windows désigne les builds intermédiaires proposées aux Windows Insiders avant la publication d’une build finale.Windows OS flighting refers to the interim builds available to Windows Insiders before a final build is released to the general population. Plus les Insiders qui évaluent ces builds intermédiaires sont nombreux, plus les feedbacks que nous recevons sur la qualité des builds, leur compatibilité, etc. le sont aussi, ce qui contribue à l’amélioration de la qualité des builds finales.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. Vous pouvez prendre part à ce programme de distribution de version d’évaluation pour garantir que vos applications fonctionneront comme prévu dans les builds successives du système d’exploitation.You can participate in this flighting program to ensure that your apps work as expected on iterative builds of the OS. Nous vous invitons également à fournir un feedback sur le fonctionnement de ces builds avec version d’évaluation, sur les problèmes que vous avez rencontrés, etc.We also encourage you to provide feedback on how these flighted builds are working for you, issues you run into, and so on.

Si votre application figure dans le Store, vous pouvez distribuer une version d’évaluation de votre application par son intermédiaire, ce qui signifie que votre application pourra être installée par nos Windows Insiders.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. Les utilisateurs peuvent installer votre application et vous envoyer un feedback préliminaire sur celle-ci avant une publication générale.Users can install your app and you can receive preliminary feedback on your app before you release it to the general population. Les sections suivantes décrivent les étapes permettant de tester vos applications par rapport aux builds avec version d’évaluation de Windows.The follow sections outline the steps for testing your apps against Windows flighted builds.

Étape 1 : Devenez un Windows Insider et prenez part à la distribution de version d’évaluationStep 1: Become a Windows Insider and participate in flighting

Au titre de Windows Insider, vous pouvez nous aider à façonner l’avenir de Windows : votre feedback nous aidera à améliorer les fonctions et fonctionnalités de la plateforme.As a Windows Insider, you can help shape the future of Windows—your feedback will help us improve features and functionality in the platform. Il s’agit d’une communauté active dans laquelle vous pouvez communiquer avec d’autres passionnés, rejoindre des forums, échanger des conseils et découvrir les prochains événements destinés uniquement aux Insiders.This is a vibrant community where you can connect with other enthusiasts, join forums, trade advice, and learn about upcoming Insider-only events.

Comme vous avez accès aux versions d’évaluation de Windows 10, de Windows 10 Mobile, et à la dernière version du SDK Windows et de l’émulateur, vous disposez de tous les outils nécessaires pour développer des applications réussies et explorer les nouveautés de la plateforme Windows universelle et du 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.

C’est là aussi une excellente occasion de créer du matériel remarquable, avec les versions d’évaluation des kits de développement de matériel, pour pouvoir ainsi développer des pilotes universels pour 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. Windows IoT Standard Insider Preview est également disponible sur les plateformes de développement IoT prises en charge, pour vous permettre de créer des solutions connectées de premier plan en utilisant la plateforme Windows universelle.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.

Avant de devenir un Windows Insider, notez que ce programme s’adresse aux utilisateurs qui :Before you become a Windows Insider, please note that participation is intended for users who:

  • Veulent tester des logiciels qui sont encore en développement.Want to try out software that’s still in development.
  • Veulent partager un feedback sur les logiciels et la plateforme.Want to share feedback about the software and the platform.
  • N’ont aucun problème pour installer de nombreuses mises à jour ou une interface utilisateur susceptible de changer considérablement.Don’t mind lots of updates or a UI design that might change significantly over time.
  • S’y connaissent vraiment en PC et ne voient aucun inconvénient à résoudre les problèmes, sauvegarder leurs données, formater un disque dur, installer un système d’exploitation depuis le début ou restaurer un ancien système si nécessaire.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.
  • Savent ce qu’est un fichier ISO et comment l’utiliser.Know what an ISO file is and how to use it.
  • N’effectuent pas l’installation de ces logiciels sur leur ordinateur ou leur appareil qu’ils utilisent tous les jours.Aren't installing it on their everyday computer or device.

Étape 2 : Testez vos scénariosStep 2: Test your scenarios

Une fois que vous avez procédé à une mise à jour vers une build avec version d’évaluation, vous pouvez commencer à tester l’application et à collecter des feedbacks à l’aide des exemples de cas de test suivants.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. Pour la plupart de ces tests, veillez à utiliser des systèmes x86 et AMD64.For most of these tests, ensure you cover both x86 and AMD64 systems. Test de nouvelle installation : Sur une nouvelle installation de Windows 10, vérifiez que votre application est totalement fonctionnelle.Clean install test: On a clean install of Windows 10, ensure your app is fully functional. Si votre application échoue à ce test et au test de mise à niveau, il est probable que le problème soit imputable à des modifications du système d’exploitation sous-jacent ou à des bogues dans l’application.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. Si, après un examen approfondi, il en ressort que le problème est dû à des modifications du système d’exploitation sous-jacent, veillez à utiliser le programme Windows Insider pour fournir un feedback et collaborer sur des solutions.If after investigation, the former is the case, be sure to use the Windows Insider program to provide feedback and partner on solutions.

Test de mise à niveau : Vérifiez que votre application fonctionne après la mise à niveau d’une version de niveau inférieur de Windows (Windows 7 ou Windows 8.1) vers 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. Votre application ne doit pas provoquer de restaurations pendant la mise à niveau et doit continuer de fonctionner comme prévu après celle-ci : ce point est essentiel pour obtenir une mise à niveau sans problèmes.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.

Test de réinstallation : Vérifiez que les fonctionnalités de l’application peuvent être restaurées en la réinstallant une fois que vous avez mis à niveau le PC vers Windows 10 à partir d’un système d’exploitation de niveau inférieur.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. Si votre application a échoué au test de mise à niveau et que vous n’êtes pas en mesure d’identifier la cause de ces problèmes, il est possible qu’une réinstallation puisse restaurer les fonctionnalités perdues.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. Un test de réinstallation réussi indique que certaines parties de l’application peuvent ne pas avoir été migrées vers Windows 10.A passing reinstall test indicates that parts of the app may not have been migrated to Windows 10.

Test des fonctionnalités du système d’exploitation\de l’appareil : Vérifiez que votre application fonctionne comme prévu si elle s’appuie sur des fonctionnalités spécifiques du système d’exploitation.OS\Device Features Test: Ensure that your app works as expected if your app relies on specific functionality in the OS. Les éléments courants à tester sont listés ci-dessous, souvent par rapport à une sélection de modèles de PC couramment utilisés afin d’assurer une large couverture :Common areas for testing include the following, often against a selection of the commonly used PC models to ensure coverage:

  • AudioAudio
  • Fonctionnalités des périphériques USB (clavier, souris, clé USB, disque dur externe, etc.)USB device functionality (keyboard, mouse, memory stick, external hard disk, and so on)
  • BluetoothBluetooth
  • Graphismes\Affichage (multimoniteur, projection, rotation d’écran, etc.)Graphics\display (multi-monitor, projection, screen rotation, and so on)
  • Écran tactile (orientation, clavier visuel, stylet, mouvements, etc.)Touch screen (orientation, on-screen keyboard, pen, gestures, and so on)
  • Pavé tactile (boutons droit\gauche, appui, défilement, etc.)Touchpad (left\right buttons, tap, scroll, and so on)
  • Stylet (appui simple\double, appui prolongé, gomme, etc.)Pen (single\double tap, press, hold, eraser, and so on)
  • Impression\NumérisationPrint\Scan
  • Capteurs (accéléromètre, fusion, etc.)Sensors (accelerometer, fusion, and so on)
  • Appareil photoCamera

Étape 3 : Fournir un feedbackStep 3: Provide feedback

Faites-nous savoir comment votre application se comporte par rapport aux builds avec version d’évaluation.Let us know how your app is performing against flighted builds. Quand vous découvrez des problèmes avec votre application au cours des tests, indiquez les bogues via le portail des partenaires si vous y avez accès ou en contactant votre représentant Microsoft.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. Nous vous encourageons à nous transmettre ces informations, qui nous permettent de créer une expérience de qualité pour nos utilisateurs.We encourage this information so that we can build a quality experience for our users together.

Options de maintenance de Windows 10 pour les mises à jour et les mises à niveauWindows 10 servicing options for updates and upgrades