Desenvolvimento de aplicativos para Windows como serviçoApplication development for Windows as a service

Aplica-se aApplies to

  • Windows 10Windows 10
  • Windows 10 MobileWindows 10 Mobile
  • Windows 10 IoT CoreWindows 10 IoT Core

No ambiente de hoje, em que as expectativas do usuário com frequência são definidas por experiências centradas no dispositivo, os ciclos de produtos completos precisam ser medido em meses, não anos.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. Além disso, novas versões devem ser disponibilizadas continuamente e implantadas com um impacto mínimo sobre os usuários.Additionally, new releases must be made available on a continual basis, and must be deployable with minimal impact on users. A Microsoft desenvolveu o Windows 10 para atender a estes requisitos implementando uma nova abordagem à inovação, desenvolvimento e entrega denominada WaaS (Windows como serviço).Microsoft designed Windows 10 to meet these requirements by implementing a new approach to innovation, development, and delivery called Windows as a service (WaaS). A chave para habilitar ciclos de produtos significativamente menores enquanto mantém os níveis de alta qualidade, é uma abordagem centrada na comunidade inovadora para testes que a Microsoft implementou para o 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. A comunidade, conhecida como Participantes do Programa Windows Insider, é composta por milhões de usuários em todo o mundo.The community, known as Windows Insiders, is comprised of millions of users around the world. Quando os participantes do Programa Windows Insider optam por ingressarem na comunidade, eles testam vários builds ao longo do curso do ciclo de vida do produto e fornecem feedback à Microsoft por meio de uma metodologia interativa denominada de liberação de versões de pré-lançamento.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.

Os builds distribuídos como versões de pré-lançamento dão à equipe de engenharia do Windows dados significativos referentes à qualidade do desempenho dos builds em uso efetivo.Builds distributed as flights provide the Windows engineering team with significant data regarding how well builds are performing in actual use. A liberação de versões de pré-lançamento com os Participantes do Programa Windows Insider também permite que a Microsoft teste builds nos mais diversos tipos de hardware, aplicativos e ambientes de rede e identifique problemas de forma muito mais rápida.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. Como um resultado, a Microsoft acredita que a concentração da comunidade na liberação de versões de pré-lançamento possibilitarão um ritmo mais rápido de entrega de inovações e uma versão pública de melhor qualidade do que nunca.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.

Regularidades e tipos de versão do Windows 10Windows 10 release types and cadences

Embora a Microsoft libere builds de versões de pré-lançamento para o participante do programa Windows Insider, a Microsoft publicará amplamente dois tipos de versões do Windows 10 ao público em base contínua: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:

As Atualizações de recursos instalam as versões mais recentes de novos recursos, experiências e funcionalidades em dispositivos que já estão executando o Windows 10.Feature updates install the latest new features, experiences, and capabilities on devices that are already running Windows 10. Como as atualizações de recursos contém uma cópia completa do Windows, elas são também o que os usuários costumam usar para instalar o Windows 10 em dispositivos existentes executando o Windows 7 ou o Windows 8.1 e em novos dispositivos nos quais não há nenhum sistema operacional instalado.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. A Microsoft espera publicar as atualizações semestralmente.Microsoft expects to publish updates semi-annually.

As atualizações de qualidade entregam resoluções de problemas de segurança e outras correções de bugs importantes.Quality updates deliver security issue resolutions and other important bug fixes. As atualizações de qualidade serão fornecidas para melhorar cada recurso atualmente no suporte, em uma frequência de uma ou mais vezes por mês.Quality updates will be provided to improve each feature currently in support, on a cadence of one or more times per month. A Microsoft continuará a publicar atualizações de qualidade no processo de atualização das terças-feiras (algumas vezes referida como Patch da terça-feira).Microsoft will continue publishing quality updates on Update Tuesday (sometimes referred to as Patch Tuesday). Além disso, a Microsoft pode publicar atualizações de qualidade adicionais para o Windows 10 fora do processo de atualização das terças-feiras quando for necessário para atender as necessidades do cliente.Additionally, Microsoft may publish additional quality updates for Windows 10 outside the Update Tuesday process when required to address customer needs.

Durante o desenvolvimento do Windows 10, a Microsoft aperfeiçoou o ciclo de liberação e engenharia de produto do Windows de forma que podemos entregar os recursos, experiências e funcionalidades desejadas pelos clientes de forma mais rápida que nunca.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. Também criamos novas formas para entregar e instalar as atualizações de recursos e as atualizações de qualidade que simplificam as implantações e gerenciamento existente, ampliando a base de funcionários que podem ficar atualizados com as mais recentes funcionalidades e experiências do Windows e um custo de propriedade menor.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. Portanto, implementamos novas opções de manutenção – referidas como Canal Semestral e LTSC (Canal de Manutenção em Longo Prazo) – que oferecem soluções pragmáticas para manter mais dispositivos mais atualizados nos ambientes corporativos do que era possível anteriormente.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.

A tabela a seguir descreve os vários canais de manutenção e seus principais atributos.The following table shows describes the various servicing channels and their key attributes.

Opção de manutençãoServicing option Disponibilidade de novas atualizações de recursos para instalaçãoAvailability of new feature upgrades for installation Tempo de vida da manutençãoServicing lifetime Principais benefíciosKey benefits Edições compatíveisSupported editions
Canal Semestral (Direcionado)Semi-Annual Channel (Targeted) Imediatamente após a primeira publicação pela MicrosoftImmediately after first published by Microsoft 18 meses18 months Disponibiliza novos recursos para os usuários assim que possívelMakes new features available to users as soon as possible Home, Pro, Education, Enterprise, Mobile, IoT Core, Windows 10 IoT Core Pro (IoT Core Pro)Home, Pro, Education, Enterprise, Mobile, IoT Core, Windows 10 IoT Core Pro (IoT Core Pro)
Canal SemestralSemi-Annual Channel Aproximadamente 4 meses após a primeira publicação pela MicrosoftApproximately 4 months after first published by Microsoft 18 meses a contar da primeira publicação18 months from when first published Fornece tempo adicional para testar novas atualizações de recursos antes da implantaçãoProvides additional time to test new feature upgrades before deployment Pro, Education, Enterprise, Mobile Enterprise, IoT Core ProPro, Education, Enterprise, Mobile Enterprise, IoT Core Pro
LTSC (Canal de Manutenção em Longo Prazo)Long-Term Servicing Channel (LTSC) Imediatamente após a publicação pela MicrosoftImmediately after published by Microsoft 10 anos10 Years Permite a implantação a longo prazo de versões selecionadas do Windows 10 em configurações com poucas alteraçõesEnables long-term deployment of selected Windows 10 releases in low-change configurations Enterprise LTSBEnterprise LTSB

Para obter mais informações, confira Opções de manutenção do Windows 10 para atualizações e upgrades.For more information, see Windows 10 servicing options for updates and upgrades.

Dar suporte a aplicativos no Windows como serviçoSupporting apps in Windows as a service

A abordagem tradicional para dar suporte a aplicativos tem sido lançar uma nova versão do aplicativo em resposta a uma versão do Windows.The traditional approach for supporting apps has been to release a new app version in response to a Windows release. Isso pressupõe que há alterações da falha no sistema operacional subjacente que podem causar uma regressão ao aplicativo.This assumes that there are breaking changes in the underlying OS that could potentially cause a regression with the application. Esse modelo envolve um ciclo de desenvolvimento e validação dedicado que exige que nossos parceiros de ISV se alinhem com a regularidade de lançamentos do Windows.This model involves a dedicated development and validation cycle that requires our ISV partners to align with the Windows release cadence.

No modelo do Windows como um serviço, a Microsoft está fazendo um compromisso para manter a compatibilidade do sistema operacional subjacente.In the Windows as a service model, Microsoft is making a commitment to maintaining the compatibility of the underlying OS. Isso significa que a Microsoft fará um esforço concentrado para garantir que não há nenhuma alteração significativa que afeta negativamente o ecossistema do aplicativo.This means Microsoft will make a concerted effort to ensure that there are no breaking changes that impact the app ecosystem negatively. Nesse cenário, quando houver um lançamento de um build do Windows, a maioria dos aplicativos (aqueles sem nenhuma dependência do kernel) continuarão a funcionar.In this scenario, when there is a release of a Windows build, most apps (those with no kernel dependencies) will continue to work.

Tendo em vista essa alteração, a Microsoft recomenda que nossos parceiros de ISV dissociem seus lançamentos e suporte de aplicativos dos builds específicos do Windows.In view of this change, Microsoft recommends that our ISV partners decouple their app release and support from specific Windows builds. Nossos clientes mútuos são atendidos melhor por uma abordagem de ciclo de vida do aplicativo.Our mutual customers are better served by an application lifecycle approach. Isso significa que, quando uma versão do aplicativo for lançada, ela terá suporte por um determinado período, independentemente do número de builds do Windows lançados nesse intervalo de tempo.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. O ISV fará um compromisso para fornecer suporte para essa versão específica do aplicativo enquanto ela tiver suporte no ciclo de vida.The ISV makes a commitment to provide support for that specific version of the app as long as it is supported in the lifecycle. A Microsoft segue uma abordagem semelhante ao ciclo de vida do Windows que pode ser referenciada aqui.Microsoft follows a similar lifecycle approach for Windows that can be referenced here.

Essa abordagem reduz a sobrecarga de manutenção de um agendamento de aplicativo que se alinha com os lançamentos do Windows.This approach will reduce the burden of maintaining an app schedule that aligns with Windows releases. O parceiros ISV devem estar liberados para lançar recursos ou atualizações em seu próprio ritmo.ISV partners should be free to release features or updates at their own cadence. Achamos que nossos parceiros podem manter sua base de clientes atualizada com as últimas atualizações do aplicativo independentemente de um lançamento do Windows.We feel that our partners can keep their customer base updated with the latest app updates independent of a Windows release. Além disso, nossos clientes não precisam procurar uma instrução de suporte explícita sempre que um build do Windows for lançado.In addition, our customers do not have to seek an explicit support statement whenever a Windows build is released. Veja um exemplo de uma instrução de suporte que aborda como um aplicativo pode ter suporte em versões diferentes do sistema operacional:Here is an example of a support statement that covers how an app may be supported across different versions of the OS:

Exemplo de uma instrução de suporte de ciclo de vida do aplicativoExample of an application lifecycle support statement

A Contoso é uma empresa de desenvolvimento de software e é a proprietária do popular aplicativo Mojave compartilhado principalmente no espaço corporativo.Contoso is a software development company and is the owner of the popular Mojave app which has a major share in the enterprise space. A Contoso libera sua próxima versão principal Mojave 14.0 e declara suporte base por um período de três anos a partir da data de lançamento.Contoso releases its next major release Mojave 14.0 and declares mainstream support for a period of three years from the release date. Durante o suporte base, todas as atualizações e suporte são gratuitas para o produto licenciado.During mainstream support all updates and support are complimentary for the licensed product. A Contoso também declara um suporte estendido adicional de dois anos em que os clientes podem comprar atualizações e suporte para um período de cortesia.Contoso also declares an additional two years of extended support where customers can purchase updates and support for a grace period. Além da data de término do suporte estendido, não há mais suporte para esta versão do produto.Beyond the extended support end date this product version is no longer supported. Durante o período de suporte base, a Contoso dará suporte ao Mojave 14.0 em todos os builds do Windows lançados.During the period of mainstream support Contoso will support Mojave 14.0 on all released builds of Windows. A Contoso também lançará atualizações para o Mojave conforme necessário e independentemente das versões do produto do Windows.Contoso will also release updates to Mojave as necessary and independent of the Windows product releases.

Nas seções a seguir, você encontrará mais informações sobre as etapas da Microsoft para manter a compatibilidade do sistema operacional subjacente.In the following sections, you will find additional information about the steps Microsoft takes to maintain the compatibility of the underlying OS. Você também encontrará orientações sobre as etapas que você pode executar para ajudar a manter a compatibilidade do ecossistema do sistema operacional e do aplicativo combinados.You will also find guidance on steps you can take to help maintain the compatibility of the combined OS and app ecosystem. Há uma seção sobre como aproveitar os builds de liberação de versões de pré-lançamento do Windows para detectar regressões do aplicativo antes de um build do Windows ser lançado.There is a section on how to leverage Windows flighting builds to detect app regressions before a Windows build is released. Por fim, nós descrevemos como usamos uma instrumentação e abordagem orientadas por telemetria para aumentar a qualidade dos builds do Windows.Lastly, we describe how we use an instrumentation and telemetry-driven approach to increase the quality of Windows builds. Nós recomendamos que os ISVs adotem uma abordagem semelhante em seu portfólio de aplicativos.We recommend ISVs adopt a similar approach with their app portfolio.

Principais alterações desde o Windows 7 para garantir a compatibilidade de aplicativoKey changes since Windows 7 to ensure app compatibility

Entendemos que compatibilidade é importante para os desenvolvedores.We understand that compatibility matters to developers. Os ISVs e desenvolvedores querem verificar se os aplicativos deles serão executados como esperado em todas as versões compatíveis do sistema operacional Windows.ISVs and developers want to ensure their apps will run as expected on all supported versions of the Windows OS. Os consumidores e as empresas têm um importante investimento aqui — eles querem a certeza de que os aplicativos pelos quais eles pagaram continuarão funcionando.Consumers and businesses have a key investment here—they want to ensure that the apps they have paid for will continue to work. Nós sabemos que compatibilidade é o principal critério para decisões de compra.We know that compatibility is the primary criteria for purchase decisions. Aplicativos escritos com base em melhores práticas oferecerão muito menos variação de código quando uma nova versão do Windows for lançada e reduzirão a fragmentação — esses aplicativos têm um investimento em engenharia reduzido para manter e um tempo mais rápido no mercado.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.

No cronograma do Windows 7, compatibilidade era muito mais uma abordagem reativa.In the Windows 7 timeframe, compatibility was very much a reactive approach. No Windows 8 começamos a observar isso de forma diferente, trabalhando no Windows para garantir que a compatibilidade fosse projetada como um item primordial, e não secundário.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 é a versão mais compatível por design do sistema operacional até a data.Windows 10 is the most compatible-by-design version of the OS to date. Veja algumas importantes maneiras por meio das quais conseguimos isso:Here are some key ways we accomplished this:

  • Telemetria do aplicativo: isso nos ajuda a compreender a popularidade do aplicativo no ecossistema do Windows para instruir o teste de compatibilidade.App telemetry: This helps us understand app popularity in the Windows ecosystem to inform compatibility testing.
  • Parcerias ISV: trabalhe diretamente com parceiros externos para fornecer dados a eles e ajudá-los a corrigir problemas que nossos usuários enfrentam.ISV partnerships: Work directly with external partners to provide them with data and help fix issues that our users experience.
  • Revisões de design, detecção de upstream: faça parceria com equipes de recursos para reduzir o número de alterações significativas no Windows.Design reviews, upstream detection: Partner with feature teams to reduce the number of breaking changes in Windows. A análise de compatibilidade é uma entrada pela qual as nossas equipes de recurso devem passar.Compatibility review is a gate that our feature teams must pass.
  • Comunicação: controle mais rígido sobre alterações da API e melhor comunicação.Communication: Tighter control over API changes and improved communication.
  • Liberação de versões de pré-lançamento e loop de comentários: os participantes do programa Windows Insider recebem as compilações das versões de pré-lançamento liberadas que ajudam a melhorar a nossa capacidade de localizar problemas de compatibilidade antes que uma compilação final seja lançada para os clientes.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. Esse processo de comentários não só expõe os bugs, mas verifica se entregamos os recursos que nossos usuários querem.This feedback process not only exposes bugs, but ensures we are shipping features our users want.

Melhores práticas para compatibilidade de aplicativosBest practices for app compatibility

A Microsoft usa dados de diagnóstico e de uso para identificar e solucionar problemas, melhorar nossos produtos e serviços e oferecer aos nossos usuários experiências personalizadas.Microsoft uses diagnostic and usage data to identify and troubleshoot problems, improve our products and services, and provide our users with personalized experiences. Os dados de uso que coletamos também se estendem aos aplicativos executados nos computadores do ecossistema do Windows.The usage data we collect also extends to the apps that PCs in the Windows ecosystem are running. Com base no que nossos clientes usam, criamos nossa lista para testar esses aplicativos, dispositivos e drivers em relação às novas versões do sistema operacional do 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. O Windows 10 foi a versão mais compatível do Windows até o momento, com mais de 90% compatibilidade contra milhares de aplicativos populares.Windows 10 has been the most compatible version of Windows to-date, with over 90% compatibility against thousands of popular apps. A equipe de Compatibilidade do Windows normalmente entra em contato com nossos parceiros de ISV para fornecer comentários, caso ocorram problemas, para que possamos compartilhar as soluções.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. Em condições ideais, gostaríamos que nossos clientes comuns conseguissem atualizar o Windows perfeitamente e sem perder a funcionalidade em seu sistema operacional ou dos aplicativos que eles dependem para a sua produtividade ou diversão.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.

As seções a seguir contêm algumas melhores práticas que a Microsoft recomenda para que você pode garantir que seus aplicativos sejam compatíveis com o Windows 10.The following sections contain some best practices Microsoft recommends so you can ensure your apps are compatible with Windows 10.

Verificação de versão do WindowsWindows version check

A versão do sistema operacional foi incrementada com o Windows 10.The OS version has been incremented with Windows 10. Isso significa que o número de versão interno foi alterado para 10.0.This means that the internal version number has been changed to 10.0. Como sempre, não medimos esforços para manter a compatibilidade de aplicativos e dispositivos após uma mudança de versão do sistema operacional.As in the past, we go to great lengths to maintain application and device compatibility after an OS version change. Para a maioria das categorias de aplicativo (sem nenhuma dependência de kernel), a mudança não afetará negativamente a funcionalidade do aplicativo, e os aplicativos existentes continuarão funcionando bem no 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.

A manifestação dessa alteração é específica do aplicativo.The manifestation of this change is app-specific. Isso significa que qualquer aplicativo que verifica especificamente para a versão do sistema operacional obterá um número de versão superior, que pode levar a uma ou mais das seguintes situações: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:

  • Os instaladores de aplicativos podem não ser capazes de instalar o aplicativo e os aplicativos talvez não consigam iniciar.App installers might not be able to install the app, and apps might not be able to start.
  • Os aplicativos podem ficar instáveis ou falhar.Apps might become unstable or crash.
  • Os aplicativos podem gerar mensagens de erro, mas continuar funcionando adequadamente.Apps might generate error messages, but continue to function properly.

Alguns aplicativos realizam uma verificação de versão e simplesmente passam um aviso para os usuários.Some apps perform a version check and simply pass a warning to users. No entanto, há aplicativos associados rigidamente a uma verificação de versão (nos drivers ou no modo de kernel para evitar a detecção).However, there are apps that are bound very tightly to a version check (in the drivers, or in kernel mode to avoid detection). Nesses casos, o aplicativo falhará se for encontrada uma versão incorreta.In these cases, the app will fail if an incorrect version is found. Em vez de uma verificação de versão, recomendamos um dos procedimentos a seguir:Rather than a version check, we recommend one of the following approaches:

  • Se o aplicativo for dependente da funcionalidade de uma API específica, selecione a versão correta da API.If the app is dependent on specific API functionality, ensure you target the correct API version.
  • Detecte a alteração via APISet ou outra API pública e não use a versão como um proxy para algum recurso ou correção.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. Se houver alterações da falha e uma seleção adequada não for exposta, então isso será um bug.If there are breaking changes and a proper check is not exposed, then that is a bug.
  • Verifique se o aplicativo NÃO confere a versão de maneiras estranhas, como por meio do Registro, de versões de arquivo, deslocamentos, modo de kernel, drivers ou outros meios.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. Se o aplicativo certamente precisar verificar a versão, use as APIs GetVersion, que devem retornar o número principal, secundário e de build.If the app absolutely needs to check the version, use the GetVersion APIs, which should return the major, minor, and build number.
  • Se você estiver usando a API GetVersion, lembre-se de que o comportamento dessa API mudou desde o Windows 8.1.If you are using the GetVersion API, remember that the behavior of this API has changed since Windows 8.1.

Se você tiver aplicativos como antimalware ou de firewall, deverá trabalhar por meio dos canais de comentários usuais e por meio do programa 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.

APIs não documentadasUndocumented APIs

Seus aplicativos não devem chamar APIs do Windows não documentadas ou depender da exportação de um arquivo específico do Windows ou de chaves do registro.Your apps should not call undocumented Windows APIs, or take dependency on specific Windows file exports or registry keys. Isso pode levar a perda da funcionalidade, perda de dados e possíveis problemas de segurança.This can lead to broken functionality, data loss, and potential security issues. Se a funcionalidade que o seu aplicativo requer não estiver disponível, será uma oportunidade de fornecer comentários por meio dos canais de comentários usuais e por meio do programa 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.

Desenvolver aplicativos da UWP (Plataforma Universal do Windows) e CentennialDevelop Universal Windows Platform (UWP) and Centennial apps

Incentivamos todos os ISVs de aplicativos para Win32 a desenvolver na UWP (Plataforma Universal do Windows) e, especificamente, aplicativos Centennial mais adiante.We encourage all Win32 app ISVs to develop Universal Windows Platform (UWP) and, specifically, Centennial apps moving forward. Há excelentes benefícios para desenvolver esses pacotes de aplicativos em vez de usar os instaladores Win32 tradicionais.There are great benefits to developing these app packages rather than using traditional Win32 installers. Os aplicativos UWP também têm suporte na Microsoft Store, portanto, é mais fácil para você atualizar os usuários para uma versão consistente automaticamente, reduzindo os custos de suporte.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.

Se os seus tipos de aplicativos Win32 não funcionam com o modelo do Centennial, é altamente recomendável usar o instalador correto e verificar se isso foi completamente testado.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. Um instalador é a primeira experiência do seu cliente ou usuário com o seu aplicativo. Portanto, verifique se ele funciona bem.An installer is your user or customer’s first experience with your app, so ensure that this works well. Geralmente, isso não funciona bem ou não foi totalmente testado para todos os cenários.All too often, this doesn’t work well or it hasn’t been fully tested for all scenarios. O Kit de Certificação de Aplicativos Windows pode ajudar você testar a instalação e desinstalação do seu aplicativo Win32 e a identificar uso de APIs não documentadas, bem como outros problemas básicos de práticas recomendadas relacionadas ao desempenho, antes dos usuários o utilizarem.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.

Práticas recomendadas:Best practices:

  • Use instaladores que funcionam para versões de 32 bits e 64 bits do Windows.Use installers that work for both 32-bit and 64-bit versions of Windows.
  • Projete seus instaladores para execução em vários cenários (nível de usuário ou máquina).Design your installers to run on multiple scenarios (user or machine level).
  • Mantenha todos os recursos redistribuíveis do Windows no pacote original – se forem remontados, é possível que isso cause a perda do instalador.Keep all Windows redistributables in the original packaging – if you repackage these, it’s possible that this will break the installer.
  • Agende o tempo de desenvolvimento para seus instaladores. Eles geralmente são ignorados como um produto durante o ciclo de vida de desenvolvimento de software.Schedule development time for your installers—these are often overlooked as a deliverable during the software development lifecycle.

Estratégias de teste otimizadas e liberação de versões de pré-lançamentoOptimized test strategies and flighting

A liberação de versões de pré-lançamento do sistema operacional Windows refere-se aos builds provisórios disponíveis para os participantes do programa Windows Insider antes de um build final ser lançado para a população geral.Windows OS flighting refers to the interim builds available to Windows Insiders before a final build is released to the general population. Quanto mais participantes do programa Windows Insider receberem essa versão de pré-lançamento desses builds temporários, mais comentários receberemos sobre a qualidade do build, a compatibilidade etc., e isso ajudará a melhorar a qualidade dos builds finais.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. Você pode participar desse programa de liberação de versões de pré-lançamento para verificar se seus aplicativos funcionam conforme o esperado nos builds iterativos do sistema operacional.You can participate in this flighting program to ensure that your apps work as expected on iterative builds of the OS. Também recomendamos que você forneça comentários sobre como esses builds de versões de pré-lançamento estão funcionando para você, sobre problemas que ocorrerem e assim por diante.We also encourage you to provide feedback on how these flighted builds are working for you, issues you run into, and so on.

Se seu aplicativo estiver na Store, você poderá liberar a versão de pré-lançamento do seu aplicativo por meio dela, o que significa que o seu aplicativo estará disponível para os nossos participantes do Programa Windows Insider para instalação.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. Os usuários podem instalar seu aplicativo e você pode receber comentários preliminares sobre ele antes de lançá-lo para a população geral.Users can install your app and you can receive preliminary feedback on your app before you release it to the general population. As seções a seguir descrevem as etapas para testar seus aplicativos com base em builds de versões de pré-lançamento do Windows.The follow sections outline the steps for testing your apps against Windows flighted builds.

Etapa 1: Tornar-se um participantes do programa Windows Insider e participar da liberação de versões de pré-lançamentoStep 1: Become a Windows Insider and participate in flighting

Como um participante do programa Windows Insider, você pode ajudar a moldar o futuro do Windows — seus comentários nos ajudarão a melhorar os recursos e funcionalidades na plataforma.As a Windows Insider, you can help shape the future of Windows—your feedback will help us improve features and functionality in the platform. Essa é uma comunidade vibrante em que você pode se conectar com outros entusiastas, participar de fóruns, trocar conselhos e saber mais sobre os futuros eventos apenas para o programa Insider.This is a vibrant community where you can connect with other enthusiasts, join forums, trade advice, and learn about upcoming Insider-only events.

Assim que você tiver acesso às versões prévias do Windows 10, Windows 10 Mobile, bem como do Emulador e do SDK mais recentes do Windows, você terá todas as ferramentas à sua disposição para desenvolver ótimos aplicativos e explorar as novidades da Plataforma Universal do Windows e da 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.

Isso também é uma grande oportunidade para criar um ótimo hardware, com builds de versão prévia dos kits de desenvolvimento de hardware para que você possa desenvolver drivers universais para 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. O IoT Core Insider Preview também está disponível em placas de desenvolvimento para IoT compatíveis, para que você possa criar incríveis soluções conectadas usando a Plataforma Universal do 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.

Antes de se tornar um participante do programa Windows Insider, observe que a participação destina-se para os usuários que:Before you become a Windows Insider, please note that participation is intended for users who:

  • Querem experimentar um software que ainda está em desenvolvimento.Want to try out software that’s still in development.
  • Desejam compartilhar comentários sobre o software e a plataforma.Want to share feedback about the software and the platform.
  • Não se importam com grandes quantidades de atualizações nem com um design de interface do usuário que mude consideravelmente com o passar do tempo.Don’t mind lots of updates or a UI design that might change significantly over time.
  • Conhecem realmente um computador e se sentem confortáveis em solucionar problemas, fazer backup de dados, formatar um disco rígido, instalar um sistema operacional do zero ou restaurar o sistema antigo se for necessário.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.
  • Sabem o que é um arquivo ISO e como usá-lo.Know what an ISO file is and how to use it.
  • Não o estão instalando no computador ou dispositivo do dia a dia.Aren't installing it on their everyday computer or device.

Etapa 2: Testar seus cenáriosStep 2: Test your scenarios

Depois de ter atualizado para um build de versão de pré-lançamento, os casos a seguir são alguns casos de teste de exemplo para ajudar você a começar a usar testes e reunir comentários.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. Para a maioria desses testes, verifique se você abrange os sistemas x86 e AMD64.For most of these tests, ensure you cover both x86 and AMD64 systems. Teste de instalação limpa: Em uma instalação limpa do Windows 10, verifique se seu aplicativo é totalmente funcional.Clean install test: On a clean install of Windows 10, ensure your app is fully functional. Se o seu aplicativo falhar neste teste e no teste de atualização, é provável que o problema seja causado pelas alterações do sistema operacional subjacente ou bugs no aplicativo.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. Se depois da investigação o primeiro for o caso, use o Programa Windows Insider para fornecer comentários e compartilhar soluções.If after investigation, the former is the case, be sure to use the Windows Insider program to provide feedback and partner on solutions.

Teste de atualização: Verificar se o seu aplicativo funciona após a atualização de uma versão de nível inferior do Windows (isto é, Windows 7 ou Windows 8.1) para 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. Seu aplicativo não deve provocar reversões durante a atualização e deve continuar funcionando como esperado após a atualização — isso é fundamental para obter uma experiência perfeita de atualização.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.

Teste de reinstalação: Verifique se a funcionalidade do aplicativo pode ser restaurada por meio da reinstalação do seu aplicativo após a atualização do computador para o Windows 10 de um sistema operacional de nível inferior.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. Se seu aplicativo não passar no teste de atualização e você não for capaz de reduzir a causa desses problemas, possivelmente uma reinstalação poderá restaurar a perda de funcionalidade.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. Não passar em um teste de reinstalação indica que partes do aplicativo podem não terem sido migradas para o Windows 10.A passing reinstall test indicates that parts of the app may not have been migrated to Windows 10.

Teste dos recursos do dispositivo\sistema operacional: Verifique se seu aplicativo funciona como esperado caso seu aplicativo dependa da funcionalidade específica no sistema operacional.OS\Device Features Test: Ensure that your app works as expected if your app relies on specific functionality in the OS. Áreas comuns para testes incluem o seguinte, geralmente em relação a uma seleção de modelos de computador comumente usados para garantir uma cobertura:Common areas for testing include the following, often against a selection of the commonly used PC models to ensure coverage:

  • ÁudioAudio
  • Funcionalidade do dispositivo USB (teclado, mouse, cartão de memória, disco rígido externo e assim por diante)USB device functionality (keyboard, mouse, memory stick, external hard disk, and so on)
  • BluetoothBluetooth
  • Gráficos\tela (com vários monitores, projeção, rotação da tela etc.)Graphics\display (multi-monitor, projection, screen rotation, and so on)
  • Tela touch (orientação, teclado virtual, caneta, gestos e assim por diante)Touch screen (orientation, on-screen keyboard, pen, gestures, and so on)
  • Touchpad (botões esquerdo\direito, toque, rolagem etc.)Touchpad (left\right buttons, tap, scroll, and so on)
  • Caneta (toque simples\duplo, pressionar, segurar, borracha etc.)Pen (single\double tap, press, hold, eraser, and so on)
  • Impressão\digitalizaçãoPrint\Scan
  • Sensores (acelerômetro, fusão e assim por diante)Sensors (accelerometer, fusion, and so on)
  • CâmeraCamera

Etapa 3: Fornecer comentáriosStep 3: Provide feedback

Conte como seu aplicativo está se comportando em relação às compilações de versões de pré-lançamento liberadas.Let us know how your app is performing against flighted builds. À medida que você descobrir problemas com seu aplicativo durante o teste, registre os bugs por meio do portal do parceiro, se você tiver acesso, ou por meio do seu representante da 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. Recomendamos essas informações para que possamos construir uma experiência de qualidade para os nossos usuários juntos.We encourage this information so that we can build a quality experience for our users together.

Opções de manutenção do Windows 10 para atualizações e upgradeWindows 10 servicing options for updates and upgrades