Test dell'app di Windows per Windows 10 in modalità STest your Windows app for Windows 10 in S mode

Puoi testare la tua app di Windows per assicurarti che funzioni correttamente nei dispositivi che eseguono Windows 10 in modalità S.You can test your Windows app to ensure that it will operate correctly on devices that run Windows 10 in S mode. Di fatto, se prevedi di pubblicare la tua app in Microsoft Store, il test è necessario in quanto requisito dello Store.In fact, if you plan to publish your app to the Microsoft Store, you must do this because it is a store requirement. Per testare l'app, puoi applicare un criterio di controllo delle applicazioni di Windows Defender (WDAC) in un dispositivo che esegue 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.

Il criterio WDAC impone le regole a cui le app devono conformarsi per l'esecuzione in Windows 10 S.The WDAC policy enforces the rules that apps must conform to in order to run on Windows 10 S.

Importante

Consigliamo di applicare questi criteri a una macchina virtuale. Se vuoi invece applicarli al computer locale, prima di eseguire questa operazione rivedi le indicazioni sulle procedure ottimali nella sezione "Installare quindi il criterio e riavviare il sistema" di questo argomento.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.

Scaricare prima i criteri e sceglierne unoFirst, download the policies and then choose one

Scarica i criteri WDAC qui.Download the WDAC policies here.

Scegli quindi quello più adatto alle tue esigenze.Then, choose the one that makes the most sense to you. Ecco un riepilogo di ogni criterio.Here's summary of each policy.

Criteri diPolicy ImposizioneEnforcement Certificato di firmaSigning certificate Nome fileFile name
Criterio modalità di controlloAudit mode policy Registra problemi/non blocca il sistemaLogs issues / does not block ArchivioStore SiPolicy_Audit.p7bSiPolicy_Audit.p7b
Criterio modalità di produzioneProduction mode policy Yes ArchivioStore SiPolicy_Enforced.p7bSiPolicy_Enforced.p7b
Criterio modalità di produzione con app autofirmateProduct mode policy with self-signed apps Yes Certificato di test AppXAppX Test Cert SiPolicy_DevModeEx_Enforced.p7bSiPolicy_DevModeEx_Enforced.p7b

Consigliamo di iniziare con il criterio modalità di controllo.We recommend that you start with audit mode policy. Puoi rivedere i log eventi di integrità del codice e usare tali informazioni per apportare modifiche alla tua app.You can review the Code Integrity Event Logs and use that information to help you make adjustments to your app. Successivamente, applica il criterio modalità di produzione quando sei pronto per il test finale.Then, apply the Production mode policy when you're ready for final testing.

Di seguito sono riportate alcune informazioni in più su ogni criterio.Here’s a bit more information about each policy.

Criterio modalità di controlloAudit mode policy

Con questa modalità, l'app viene eseguita anche se effettua attività non supportate in Windows 10 S. Windows registra tutti gli eseguibili che sarebbero stati bloccati nei log eventi di integrità del codice.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.

Per trovare questi log, puoi aprire il Visualizzatore eventi e quindi selezionare il percorso seguente: Registri applicazioni e servizi->Microsoft->Windows->CodeIntegrity->Operational.You can find those logs by opening the Event Viewer, and then browsing to this location: Application and Services Logs->Microsoft->Windows->CodeIntegrity->Operational.

log-eventi-integrità-codice

Questa modalità è provvisoria e non impedisce l'avvio del sistema.This mode is safe and it won't prevent your system from starting.

(Facoltativo) Individuare punti di guasto specifici nello stack di chiamate(Optional) Find specific failure points in the call stack

Per trovare punti specifici nello stack di chiamate in cui si verificano problemi di blocco, aggiungi questa chiave del Registro di sistema e quindi configura un ambiente di debug in modalità 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.

CodiceKey NomeName TypeType ValueValue
HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CIHKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CI DebugFlagsDebugFlags REG_DWORDREG_DWORD 11

impostazione-reg

Criterio modalità di produzioneProduction mode policy

Questo criterio impone regole di integrità del codice che corrispondono a Windows 10 S in modo da consentirti di simulare l'esecuzione in Windows 10 S. Si tratta del criterio più restrittivo, ideale per i test di produzione finali.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. In questa modalità l'app è soggetta alle stesse limitazioni che troverebbe nel dispositivo di un utente.In this mode, your app is subject to the same restrictions as it would be subject to on a user's device. Per usare questa modalità, l'app deve essere firmata da Microsoft Store.To use this mode, your app must be signed by the Microsoft Store.

Criterio modalità di produzione con app autofirmateProduction mode policy with self-signed apps

Simile al criterio modalità di produzione, questa modalità consente anche l'esecuzione di elementi firmati con il certificato di test incluso nel file 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. Installa il file PFX incluso nella cartella AppxTestRootAgency del file zip.Install the PFX file that is included in the AppxTestRootAgency folder of this zip file. Firma quindi la tua app.Then, sign your app with it. In questo modo potrai eseguire l'iterazione rapidamente senza necessità di firma da parte dello Store.That way, you can quickly iterate without requiring Store signing.

Poiché il nome dell'entità di pubblicazione del certificato deve corrispondere al nome dell'entità di pubblicazione della tua app, dovrai modificare temporaneamente il valore dell'attributo Publisher dell'elemento Identity in "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". Dopo aver completato i test, potrai ripristinare il valore originale dell'attributo.You can change that attribute back to it's original value after you've completed your tests.

Installare quindi il criterio e riavviare il sistemaNext, install the policy and restart your system

Consigliamo di applicare i criteri a una macchina virtuale perché possono causare errori di avvio.We recommend that you apply these policies to a virtual machine because these policies might lead to boot failures. Questi criteri bloccano infatti l'esecuzione di codice non firmato da Microsoft Store, inclusi i driver.That's because these policies block the execution of code that isn't signed by the Microsoft Store, including drivers.

Se vuoi applicare i criteri al computer locale, è preferibile iniziare con il criterio modalità di controllo.If you want to apply these policies to your local machine, it's best to start with the Audit mode policy. Con questo criterio puoi controllare i log eventi di integrità del codice per assicurarti che nessun elemento critico venga bloccato in un criterio imposto.With this policy, you can review the Code Integrity Event Logs to ensure that nothing critical would be blocked in an enforced policy.

Quando sei pronto per l'applicazione di un criterio, trova il file con estensione P7B relativo al criterio che hai scelto, rinominalo con SIPolicy.P7B e quindi salva il file nel percorso seguente del 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\.

Riavvia quindi il sistema.Then, restart your system.

Nota

Per rimuovere un criterio dal sistema, elimina il file con estensione P7B e quindi riavvia il sistema.To remove a policy from your system, delete the .P7B file and then restart your system.

Passaggi successiviNext steps

Trova le risposte alle tue domandeFind answers to your questions

Hai domande?Have questions? Partecipa a Stack Overflow.Ask us on Stack Overflow. Il nostro team controlla costantemente questi tag.Our team monitors these tags. Puoi inviarci le tue domande anche qui.You can also ask us here.

Esamina un articolo di blog dettagliato pubblicato dal team App ConsultReview a detailed blog article that was posted by our App Consult Team

Vedi Porting e test delle applicazioni desktop classiche in Windows 10 S con Desktop Bridge.See Porting and testing your classic desktop applications on Windows 10 S with the Desktop Bridge.

Scopri gli strumenti che rendono più semplice il test per Windows in modalità SLearn about tools that make it easier to test for Windows in S Mode

Vedi Decomprimere, modificare, ricreare il pacchetto e firmare un file APPX.See Unpackage, modify, repackage, sign an APPX.