Testar seu aplicativo do Windows para Windows 10 no modo STest your Windows app for Windows 10 in S mode

Teste seu aplicativo do Windows para verificar se ele funcionará corretamente em dispositivos que executam o Windows 10 no modo S.You can test your Windows app to ensure that it will operate correctly on devices that run Windows 10 in S mode. Na verdade, se você pretende publicar seu aplicativo na Microsoft Store, faça isso, pois esse é um requisito da loja.In fact, if you plan to publish your app to the Microsoft Store, you must do this because it is a store requirement. Para testar o aplicativo, você pode aplicar uma política do WDAC (Controle de Aplicativos do Windows Defender) a um dispositivo que esteja executando o Windows 10 Pro.To test your app, you can apply a Windows Defender Application Control (WDAC) policy on a device that is running Windows 10 Pro.

Essa política do WDAC impõe as regras com as quais os aplicativos devem estar em conformidade para serem executados no Windows 10 S.The WDAC policy enforces the rules that apps must conform to in order to run on Windows 10 S.

Importante

Recomendamos que você aplique essas políticas a uma máquina virtual, mas se você deseja aplicá-las ao computador local, examine nossas diretrizes de melhores práticas na seção "Próximo, instalar a política e reiniciar o sistema" deste tópico antes de aplicar uma política.We recommend that you apply these policies to a virtual machine, but if you want to apply them to your local machine, make sure to review our best practice guidance in the "Next, install the policy and restart your system" section of this topic before you apply a policy.

Primeiro, baixe as políticas e, depois, escolha uma delasFirst, download the policies and then choose one

Baixe as políticas do WDAC aqui.Download the WDAC policies here.

Em seguida, escolha a que faz mais sentido para você.Then, choose the one that makes the most sense to you. Veja abaixo um resumo de cada política.Here's summary of each policy.

PolíticaPolicy ImposiçãoEnforcement Certificado de autenticaçãoSigning certificate Nome do ArquivoFile name
Política de modo de auditoriaAudit mode policy Registra problemas em log/não faz bloqueiosLogs issues / does not block RepositórioStore SiPolicy_Audit.p7bSiPolicy_Audit.p7b
Política de modo de produçãoProduction mode policy SimYes RepositórioStore SiPolicy_Enforced.p7bSiPolicy_Enforced.p7b
Política de modo de produto com aplicativos autoassinadosProduct mode policy with self-signed apps SimYes Certificado de teste do AppXAppX Test Cert SiPolicy_DevModeEx_Enforced.p7bSiPolicy_DevModeEx_Enforced.p7b

Recomendamos que você comece com a política de modo de auditoria.We recommend that you start with audit mode policy. Examine os logs de eventos de integridade do código e use essas informações para ajudar você a fazer ajustes no seu aplicativo.You can review the Code Integrity Event Logs and use that information to help you make adjustments to your app. Em seguida, aplique a política de modo de produção quando estiver pronto para o teste final.Then, apply the Production mode policy when you're ready for final testing.

Veja a seguir mais informações sobre cada política.Here’s a bit more information about each policy.

Política de modo de auditoriaAudit mode policy

Com esse modo, o aplicativo é executado, mesmo que ele execute tarefas não compatíveis com o Windows 10 S. O Windows registra em log todos os executáveis que teriam sido bloqueados nos logs de eventos de integridade do código.With this mode, your app runs even if it performs tasks that aren’t supported on Windows 10 S. Windows logs any executables that would have been blocked into the Code Integrity Event Logs.

Encontre esses logs abrindo o Visualizador de Eventos e navegue até esta localização: Logs de Aplicativos e Serviços -> Microsoft -> Windows -> Integridade de Código -> Operacional.You can find those logs by opening the Event Viewer, and then browsing to this location: Application and Services Logs->Microsoft->Windows->CodeIntegrity->Operational.

code-integrity-event-logs

Esse modo é seguro e não impedirá que o sistema seja inicializado.This mode is safe and it won't prevent your system from starting.

(Opcional) Encontrar pontos de falha específicos na pilha de chamadas(Optional) Find specific failure points in the call stack

Para encontrar pontos específicos na pilha de chamadas em que ocorrem problemas de bloqueio, adicione esta chave do Registro e depois configure um ambiente de depuração do modo kernel.To find specific points in the call stack where blocking issues occur, add this registry key, and then set up a kernel-mode debugging environment.

ChaveKey NomeName TipoType ValorValue
HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CIHKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CI DebugFlagsDebugFlags REG_DWORDREG_DWORD 11

reg-setting

Política de modo de produçãoProduction mode policy

Essa política impõe as regras de integridade do código que combinam o Windows 10 S para que você possa simular a execução no Windows 10 S. Essa é a política mais rigorosa e é excelente para o teste de produção final.This policy enforces code integrity rules that match Windows 10 S so that you can simulate running on Windows 10 S. This is the strictest policy, and it is great for final production testing. Neste modo, seu aplicativo está sujeito às mesmas restrições que estarão sujeitas no dispositivo de um usuário.In this mode, your app is subject to the same restrictions as it would be subject to on a user's device. Para usar esse modo, o aplicativo precisa ser assinado pela Microsoft Store.To use this mode, your app must be signed by the Microsoft Store.

Política de modo de produção com aplicativos autoassinadosProduction mode policy with self-signed apps

Esse modo é semelhante à política de modo de produção, mas também permite a execução de itens que sejam assinados com o certificado de teste incluído no arquivo zip.This mode is similar to the Production mode policy, but it also allows things to run that are signed with the test certificate that is included in the zip file. Instale o arquivo .pfx incluído na pasta AppxTestRootAgency desse arquivo zip.Install the PFX file that is included in the AppxTestRootAgency folder of this zip file. Em seguida, assine o aplicativo nele.Then, sign your app with it. Dessa forma, você pode iterar rapidamente sem precisar da assinatura da Store.That way, you can quickly iterate without requiring Store signing.

Como o nome do fornecedor do certificado precisa corresponder ao nome do fornecedor do aplicativo, você precisará alterar temporariamente o valor do atributo Publisher do elemento Identity para "CN=Appx Test Root Agency Ex".Because the publisher name of your certificate must match the publisher name of your app, you'll have to temporarily change the value of the Identity element's Publisher attribute to "CN=Appx Test Root Agency Ex". Você pode alterar esse atributo novamente para o valor original depois de concluir os testes.You can change that attribute back to it's original value after you've completed your tests.

Em seguida, instale a política e reinicie o sistemaNext, install the policy and restart your system

Recomendamos que você aplique essas políticas a uma máquina virtual, porque essas políticas podem levar a falhas de inicialização.We recommend that you apply these policies to a virtual machine because these policies might lead to boot failures. Isso ocorre porque essas políticas bloqueiam a execução do código que não foi assinado pela Microsoft Store, incluindo drivers.That's because these policies block the execution of code that isn't signed by the Microsoft Store, including drivers.

Se você deseja aplicar essas políticas ao computador local, é melhor começar com a política de modo de auditoria.If you want to apply these policies to your local machine, it's best to start with the Audit mode policy. Com essa política, você pode examinar os logs de eventos de integridade do código para verificar se nada crítico será bloqueado em uma política imposta.With this policy, you can review the Code Integrity Event Logs to ensure that nothing critical would be blocked in an enforced policy.

Quando estiver pronto para aplicar uma política, encontre o arquivo .P7B da política escolhida, renomeie-o para SIPolicy.P7B e salve esse arquivo nesta localização do sistema: C:\Windows\System32\CodeIntegrity\ .When you're ready to apply a policy, find the .P7B file for the policy that you chose, rename it to SIPolicy.P7B, and then save that file to this location on your system: C:\Windows\System32\CodeIntegrity\.

Em seguida, reinicie o sistema.Then, restart your system.

Observação

Para remover uma política do sistema, exclua o arquivo .P7B e reinicie o sistema.To remove a policy from your system, delete the .P7B file and then restart your system.

Próximas etapasNext steps

Encontre respostas para suas dúvidasFind answers to your questions

Tem dúvidas?Have questions? Pergunte-nos no Stack Overflow.Ask us on Stack Overflow. Nossa equipe monitora estas marcas.Our team monitors these tags. Você também pode entrar em contato conosco aqui.You can also ask us here.

Examinar um artigo de blog detalhado postado pela nossa Equipe de Consultoria de AplicativosReview a detailed blog article that was posted by our App Consult Team

Confira Como portar e testar seus aplicativos clássicos da área de trabalho no Windows 10 S com a Ponte de Desktop.See Porting and testing your classic desktop applications on Windows 10 S with the Desktop Bridge.

Saiba mais sobre as ferramentas que facilitam os testes do Windows no modo SLearn about tools that make it easier to test for Windows in S Mode

Confira Desempacotar, modificar, reempacotar e assinar um appx.See Unpackage, modify, repackage, sign an APPX.