Condividi tramite


Scenari di Assistente compatibilità programmi per Windows 8

Piattaforme

Client - Windows XP | Windows Vista | Windows 7 | Windows 8

Descrizione

Program Compatibility Assistant (PCA) è una funzionalità di Windows 8 che consente agli utenti finali di eseguire app desktop progettate per le versioni precedenti di Windows. Windows 8 offre un'ottima compatibilità delle app integrata che consente alle app progettate per Windows 7 o versioni precedenti di Funzionare correttamente in Windows 8 automaticamente. Tuttavia, ci sono un numero ridotto di app che possono avere problemi di esecuzione senza intervento.

Quando un utente esegue un'app, PCA tiene traccia dell'app e identifica eventuali sintomi di determinati problemi di compatibilità noti in Windows 8. Quando rileva eventuali sintomi di problema, offre all'utente l'opportunità di applicare una correzione consigliata che consentirà di eseguire l'app meglio in Windows 8.

Scenari

PCA tiene traccia delle app per un set di problemi di compatibilità noti in Windows 8. PCA tiene traccia dei problemi, identifica le correzioni e fornisce una finestra di dialogo all'utente con le istruzioni per applicare una correzione consigliata. L'utente può decidere di applicare le correzioni consigliate o di scegliere di non eseguire alcuna operazione e annullare la raccomandazione. Se l'utente annulla, PCA non tiene più traccia dell'app.

PCA applica in genere una delle tre modalità di compatibilità di Windows: Windows XP SP3, Windows Vista SP2 o Windows 7, a seconda del momento in cui il programma (o la relativa configurazione) è stato creato. PCA usa gli attributi LINK_DATE e SUBSYSTEM VERSION del programma e le sezioni TRUSTINFO e COMPATIBILITY del manifesto del file eseguibile per determinare quali delle modalità sono rilevanti e applicaNo rispettivamente Windows XP SP3 (include privilegi amministrativi), Windows Vista SP2 o Windows 7. Un glossario alla fine del documento elenca ognuna delle modalità di compatibilità applicabili da PCA e la relativa descrizione.

Per tutti gli scenari elencati di seguito, PCA tiene traccia delle app per una seconda volta dopo l'applicazione di una correzione. Se l'app continua a non riuscire nello stesso modo anche dopo l'applicazione di una correzione di compatibilità, PCA ripristina la correzione. PCA arresterà quindi in modo permanente il rilevamento dell'app specifica non riuscita.

Anche se PCA tiene traccia di molti potenziali problemi, non tutti i problemi causeranno effettivamente errori dell'app. PCA consiglia correzioni solo in situazioni in cui si verifica un'elevata probabilità che l'errore dell'app sia dovuto a motivi di compatibilità di Windows. Le sezioni seguenti si espandono su ognuno degli scenari PCA sviluppati in Windows 8. Ogni sezione descrive lo scenario di problema e le raccomandazioni fornite da PCA per consentire all'app di continuare a funzionare correttamente su Windows 8.

Per altre informazioni sulle modifiche di compatibilità in Windows 8, vedere gli altri argomenti del cookbook di compatibilità Windows 8.

Gli scenari in cui PCA tiene traccia e consigliano le correzioni a sono:

  • L'app non riesce a installare o disinstallare
  • L'esecuzione dell'app non riesce con un messaggio di controllo della versione di Windows
  • L'avvio dell'app non riesce a causa del privilegio amministrativo
  • Arresti anomali dell'app a causa di problemi di memoria specifici
  • L'app non riesce a causa di file di sistema non corrispondenti
  • L'app non riesce a causa di errori non gestiti in Windows a 64 bit
  • L'app non riesce durante il tentativo di eliminare file non Windows protetti
  • L'app non riesce durante il tentativo di modificare i file di Windows
  • L'app non riesce a causa dell'uso di modalità colore a 8 o 16 bit
  • L'app non riesce a causa di problemi di grafica e visualizzazione
  • L'app non riesce a dichiarare la consapevolezza dpi
  • L'app non riesce a causa di funzionalità di Windows mancanti
  • L'app non riesce a causa di driver non firmati in Windows 8 a 64 bit
  • Rilevamento delle app installate tramite le impostazioni di compatibilità
  • L'app non avvia programmi di installazione o aggiornamenti
  • Programmi di installazione delle app che devono essere eseguiti con privilegi amministrativi
  • Applet legacy Pannello di controllo che devono essere eseguite con privilegi amministrativi

Ognuno di questi scenari viene espanso di seguito:

L'app non riesce a installare o disinstallare

Uno dei tipi più comuni di errori dell'app si verifica durante l'installazione dell'app. I programmi di installazione meno recenti hanno più comunemente esito negativo in due modi:

  • Il programma di installazione non è a conoscenza delle funzionalità controllo dell'account utente in Windows 8, pertanto potrebbe non essere eseguito con i privilegi completi necessari per apportare modifiche di sistema alle aree protette di Windows 8
  • Il programma di installazione verifica la versione di Windows e impedisce l'esecuzione se la versione è superiore a quella prevista

Queste condizioni di errore sono due dei tipi più comuni di errori di compatibilità nell'installazione. PCA, con l'aiuto di vari altri componenti di Windows, ad esempio controllo dell'account utente, rileva i programmi di installazione all'avvio e li tiene traccia fino alla fine dell'installazione. Se il programma di installazione non riesce ad aggiungere file o ad aggiungere una voce valida nella parte "Aggiungi programmi" del pannello di controllo di Windows, PCA considera che l'installazione non è riuscita.

In questo caso, PCA consiglia una modalità di compatibilità appropriata per l'app. La modalità di compatibilità consente l'esecuzione del programma di installazione in modalità Windows progettata per e assicura anche che l'app venga eseguita con privilegi amministrativi. PCA applica la modalità di compatibilità RUNASADMIN insieme alla modalità di compatibilità appropriata di Windows XP, Windows Vista o Windows 7. L'utente, alla fine dell'installazione non riuscita, visualizzerà una finestra di dialogo con la raccomandazione PCA:

l'app non riesce a installare o disinstallare la finestra di dialogo

L'utente può quindi scegliere di:

  • Eseguire il programma usando le impostazioni di compatibilità (opzione consigliata), dopo la quale PCA applicherà l'impostazione consigliata (modalità di compatibilità), riavviare il programma di installazione e tenere traccia fino al completamento dell'installazione
  • Indicare che il programma è installato correttamente, nel qual caso PCA non aggiungerà alcuna impostazione e interromperà il rilevamento della configurazione
  • Fare clic su Chiudi, nel qual caso PCA non aggiungerà alcuna impostazione e interromperà il rilevamento di questa configurazione

Lo stesso meccanismo viene usato per semplificare la disinstallazione dell'app quando un utente tenta di disinstallare l'app dalla sezione "Aggiungi programmi" in Windows o dal collegamento disinstallatore dell'app.

L'esecuzione dell'app non riesce con un messaggio di controllo della versione di Windows

Uno degli errori di compatibilità più comuni nel runtime dell'app è dovuto al controllo della versione di Windows. Molte app, al momento dell'avvio controllano la versione di Windows; se non riconoscono la versione, si bloccano anche se l'app potrebbe essere stata eseguita senza problemi.

In genere, tali controlli sono associati a due condizioni che il PCA tiene traccia:

L'app visualizza una finestra di messaggio che avvisa l'utente. Di seguito è riportato un esempio:

l'esecuzione dell'app non riesce con una finestra di dialogo del messaggio di controllo della versione di Windows

  • L'app termina immediatamente o si arresta in modo anomalo

Se PCA identifica entrambe queste condizioni per un'app, fornirà una raccomandazione all'utente. PCA consentirà all'utente di eseguire di nuovo l'app con le impostazioni di compatibilità. PCA applicherà la modalità di compatibilità appropriata di Windows XP, Windows Vista o Windows 7 in base all'app. Come in uno degli scenari, l'utente può indicare al PCA che l'app è stata eseguita correttamente o rifiutare esplicitamente le impostazioni consigliate facendo clic sul pulsante chiudi. Di seguito è riportata una finestra di dialogo di esempio:

l'esecuzione dell'app non riesce con una finestra di dialogo di opzione del messaggio di controllo della versione di Windows

L'avvio o l'esecuzione dell'app non riesce a causa di privilegi amministrativi

Alcune app necessitano di privilegi amministrativi per l'esecuzione e l'esecuzione delle relative funzionalità. Tuttavia, in Windows 8, analogamente a Windows 7 e Windows Vista, le app vengono eseguite nei livelli di privilegi inferiori per impostazione predefinita a causa di Controllo dell'account utente. Le app più recenti progettate per Windows Vista e versioni successive dichiarano in genere il livello di privilegio che devono essere eseguite tramite la sezione TRUSTINFO del manifesto EXE. Tuttavia, le app meno recenti hanno in genere esito negativo in due modi:

  • L'app visualizza un messaggio all'utente che richiede privilegi amministrativi, come nell'esempio seguente:

l'avvio o l'esecuzione dell'app non riesce a causa della finestra di dialogo con privilegi amministrativi

  • L'app termina immediatamente o si arresta in modo anomalo

Se PCA identifica entrambe queste condizioni per un'app, fornirà una raccomandazione all'utente. PCA consentirà all'utente di eseguire di nuovo l'app con privilegi amministrativi (PCA applica la modalità di compatibilità RUNASHIGHEST). L'utente riceverà una richiesta di controllo dell'account utente quando l'app viene rieseguata. Come in uno degli scenari, l'utente può scegliere di eseguire di nuovo con l'impostazione consigliata o rifiutare esplicitamente le impostazioni consigliate facendo clic su Chiudi. Di seguito è riportata una finestra di dialogo di esempio:

l'avvio o l'esecuzione dell'app non riesce a causa della finestra di dialogo dell'opzione privilegi amministrativi

Arresti anomali dell'app a causa di problemi di memoria specifici

Alcune app si arrestano in modo anomalo a causa di un problema di memoria noto. L'app fa riferimento a una DLL dalla memoria e quindi chiama una funzione per eseguire il codice nella stessa DLL. Ciò causa un arresto anomalo immediato dell'app. Anche se questo problema non è dovuto a Windows 8 modifiche di compatibilità, si tratta di un problema relativamente comune riscontrato in un'ampia gamma di app. PCA tiene traccia di questo problema per offrire agli utenti la possibilità di eseguire l'app in modo più affidabile.

Per queste app, PCA applica automaticamente la modalità di compatibilità PINDLL in modo invisibile all'utente. La modalità di compatibilità richiamata da PCA impedisce all'app di liberare la DLL dalla memoria. Quindi, la chiamata alla funzione nella DLL dall'app funzione funzionerà, impedendo all'app di arrestare l'arresto anomalo e consentendogli di continuare a funzionare correttamente.

L'app non riesce a causa di file di sistema non corrispondenti

Alcune app progettate per Windows XP e precedenti includono copie delle DLL del sistema Windows insieme ai relativi programmi di installazione. Quando tali app vengono installate, l'app ha una copia precedente della DLL nella propria cartella e la versione più recente della DLL presente nelle cartelle di sistema di Windows.

In Windows Vista e versioni successive questa condizione può causare l'errore dell'app quando tenta di caricare la DLL locale, poiché questa DLL non funziona correttamente con il resto delle DLL di sistema Windows correnti. Poiché l'app non è in genere a conoscenza delle versioni più recenti di questa DLL, non funziona correttamente.

Quando PCA rileva che la DLL non è riuscita a caricare correttamente, si applica un'impostazione di compatibilità che consente a Windows di caricare la versione più recente della DLL dalla cartella di sistema di Windows in modo che l'app possa essere eseguita correttamente.

Alla fine della prima esecuzione non riuscita dell'app, gli utenti visualizzeranno la finestra di dialogo PCA che li notifica dell'impostazione applicata come indicato di seguito:

l'app non riesce a causa della finestra di dialogo file di sistema non corrispondenti

L'app non riesce a causa di errori non gestiti in Windows a 64 bit

Nella versione a 64 bit di Windows 8 è stata abilitata una nuova eccezione per il meccanismo di callback del ciclo di messaggi. Anche se questa eccezione è stata introdotta per la prima volta in Windows 7, non è stato obbligatorio gestire questo errore. In Windows 8 le app che usano cicli di messaggi devono gestire questa nuova eccezione. Se non lo fanno, si schianteranno. Le app progettate per le versioni precedenti di Windows potrebbero non essere consapevoli di questa eccezione e quindi potrebbero non gestire correttamente questo errore (eccezione).

PCA rileva le app che non riescono a causa di questo errore non gestito e applica automaticamente la modalità di compatibilità DISABLEUSERCALLBACKEXCEPTION per l'app. Dopo aver applicato l'impostazione alla fine dell'esecuzione, l'utente riceve una notifica come indicato di seguito. L'app otterrà la modalità nell'esecuzione successiva e sarà in grado di evitare questo errore.

l'app non riesce a causa di errori non gestiti nella finestra di dialogo di windows a 64 bit

L'app ha esito negativo durante il tentativo di eliminare file non Windows protetti

Alcune app progettate per Windows XP e prima presuppongono che in genere vengano eseguite con privilegi amministrativi completi. Come corso del normale comportamento dell'app, possono provare a eliminare file non Windows protetti (nei file di programma o nelle cartelle di Windows). Quando l'operazione di eliminazione ha esito negativo, molte app possono arrestarsi in modo anomalo.

PCA rileva queste app che non riescono a eliminare file protetti e arresti anomali e fornisce un consiglio all'utente. PCA consente all'utente di eseguire nuovamente l'app con le impostazioni di compatibilità. Come in uno degli scenari, l'utente può indicare al PCA che l'app è stata eseguita correttamente o rifiutare esplicitamente le impostazioni consigliate facendo clic sul pulsante chiudi. In questo caso PCA applica la modalità di compatibilità VIRTUALIZEDELETE. Viene fornita una finestra di dialogo di esempio come indicato di seguito:

l'app ha esito negativo durante il tentativo di eliminare la finestra di dialogo file non windows protetti

L'app non riesce durante il tentativo di modificare i file di Windows o le chiavi del Registro di sistema

Alcune app progettate per Windows XP e prima presuppongono che in genere vengano eseguite con privilegi amministrativi completi. Come corso del normale comportamento dell'app, possono provare a modificare, eliminare o scrivere file protetti da Windows (nei file di programma o nelle cartelle di Windows) o chiavi del Registro di sistema di proprietà di Windows. Quando una delle operazioni di scrittura, eliminazione o modifica per un file o una chiave del Registro di sistema ha esito negativo, molte app possono arrestare o non riuscire correttamente.

PCA rileva queste app che non riescono a scrivere in file o chiavi del Registro di sistema protette e fornisce un consiglio all'utente quando l'app viene chiusa. PCA consente all'utente di eseguire nuovamente l'app con le impostazioni di compatibilità. Come in uno degli scenari, l'utente può indicare al PCA che l'app è stata eseguita correttamente o rifiutare esplicitamente le impostazioni consigliate facendo clic sul pulsante Chiudi. In questo caso PCA applica la modalità di compatibilità WRPMITIGATION. Viene fornita una finestra di dialogo di esempio come indicato di seguito:

l'app non riesce durante il tentativo di modificare i file di windows o la finestra di dialogo delle chiavi del Registro di sistema

L'app non riesce a causa dell'uso di modalità colore a 8 o 16 bit

Come parte della riimaginazione di Windows 8 per le app di Windows Store, una delle modifiche principali è che Desktop Window Manager (DWM) ora supporterà solo i colori a 32 bit in Windows 8. Le modalità colore inferiore sono ora simulate.

Molte app e giochi meno recenti progettati per Windows XP o prima di usare modalità colore a 8 bit o a 16 bit. Senza mitigazione, queste app potrebbero non riuscire a essere eseguite in Windows 8. Tuttavia, quando queste app enumerano o tentano di usare una delle modalità colore a 8 bit o a 16 bit per la visualizzazione, PCA identifica immediatamente il problema e con l'aiuto di DWM, assicura che l'app funzioni correttamente con la modalità colore simulata.

Si noti che si verifica non appena l'app richiede le modalità a colori bassi ed è trasparente per l'utente. L'utente non deve riavviare l'app per ottenere questa mitigazione perché questa correzione è sempre necessaria per assicurarsi che l'app funzioni correttamente.

L'applicazione non riesce a causa di problemi di grafica e visualizzazione

Poiché Desktop Window Manager (DWM) è sempre attivo in Windows 8, alcune app precedenti di Windows XP possono non riuscire se l'app usa API grafiche in modalità mista, come nell'uso di API GDI e DirectX per disegnare allo schermo (principalmente giochi meno recenti) e tenta di usare la modalità schermo intero:

  • DWM impedirà la pittura direttamente sul desktop e il gioco o l'app avrà esito negativo o disegnare una schermata nera sul desktop e nessuno dei grafici sarà visibile
  • In questi casi, quando l'app termina, Windows rileva che l'app o il gioco ha un problema con la modalità schermo intero e applica la modalità di compatibilità DXMAXIMIZEDWINDOWEDMODE che consente all'app o al gioco di eseguire in modalità ingrandita invece di una modalità schermo intero
  • Dopo aver applicato l'impostazione alla fine dell'esecuzione, l'utente riceve una notifica da PCA, come illustrato di seguito; l'app otterrà la modalità di compatibilità nell'esecuzione successiva e sarà in grado di eseguire correttamente

l'applicazione non riesce a causa di problemi di grafica e visualizzazione della finestra di dialogo

L'app non riesce a dichiarare la consapevolezza dpi

Un altro problema tipico di visualizzazione con molte app meno recenti si verifica quando Windows e l'app viene eseguita in modalità DPI elevata, ma l'app non dichiara la sua consapevolezza di dpi elevati tramite il manifesto EXE. Tra i problemi comuni che possono verificarsi a causa di questa mancata corrispondenza nelle impostazioni vengono inseriti elementi dell'interfaccia utente o testo e dimensioni del carattere non corrette. Per altre informazioni sui problemi, vedere questo collegamento qui.

In questi casi, Windows rileva che l'app è con riconoscimento DPI elevato e applica la modalità di compatibilità HIGHDPIAWARE all'app alla fine della prima esecuzione. PCA informerà quindi l'utente su questo argomento, come illustrato di seguito:

l'app non dichiara il dialogo di consapevolezza dpi

L'applicazione non riesce a causa di funzionalità di Windows mancanti

Alcune app dipendono dalle funzionalità di Windows rimosse da Windows Vista. Quando queste app tentano di caricare le DLL o i componenti COM mancanti, non funzionano.

PCA rileva le app quando tentano di caricare le funzionalità di Windows mancanti e fornisce una raccomandazione per scaricare questi componenti e installarli dopo la fine dell'app. L'utente può fare clic su "get Help Online" per trovare un'alternativa o per scaricare la funzionalità e installarla. Se necessario, l'utente può scegliere di non eseguire alcuna operazione facendo clic su Chiudi.

l'applicazione non riesce a causa della finestra di dialogo delle funzionalità di windows mancanti

L'app non riesce a causa di driver senza segno in Windows 8 a 64 bit

Windows a 64 bit ha richiesto driver con firma digitale (file SYS) da Windows Vista. Tuttavia, le app meno recenti progettate prima della versione dei driver di Windows Vista forniti che non sono stati firmati digitalmente. Se è installato un driver non firmato, Windows non li caricherà. In rari casi, è possibile che Windows non inizierà se tali driver sono contrassegnati come driver di avvio.

Alcune app precedenti installano i driver non firmati in Windows a 64 bit. Qualsiasi dispositivo o app che tenta di usare questo driver potrebbe non riuscire o causare un arresto anomalo del sistema. Per evitare questo scenario, PCA rileva le app quando installano driver non firmati e disabilita il driver contrassegnato come driver di avvio.

Indica anche all'utente di acquisire un driver con firma digitale per il corretto funzionamento dell'app. Il messaggio viene visualizzato come risultato dell'installazione del driver e come risultato dell'installazione dell'app. Se un'altra app installa lo stesso driver, l'app riceverà anche lo stesso messaggio.

l'app non riesce a causa di driver senza segno nella finestra di dialogo windows 8 a 64 bit

Rilevamento delle app installate tramite le impostazioni di compatibilità

Quando un programma di installazione ha esito negativo, PCA aiuta il programma di installazione con varie modalità di compatibilità a seconda del tipo di errore. Dopo aver completato il programma di installazione con le impostazioni di compatibilità, PCA tiene traccia dei collegamenti aggiunti dal programma di installazione. Questa operazione viene eseguita per tenere traccia se le app installate potrebbero essere necessarie anche le impostazioni di compatibilità applicate al programma di installazione.

Quando un utente avvia un'app di questo tipo, PCA chiede all'utente di chiedere se l'app funziona correttamente. Se l'utente risponde, "Sì", il PCA arresta il rilevamento dell'app. Se l'utente risponde a "No", applica la stessa modalità di compatibilità applicata al programma di installazione dell'app e esegue nuovamente l'app con la modalità di compatibilità applicata.

L'app non avvia programmi di installazione o aggiornamenti

Le app a volte avviano programmi figlio che devono essere eseguiti come amministratori. Questo è in genere il caso in cui un'app tenta di avviare il software di aggiornamento per controllare e installare nuovi aggiornamenti nell'app. Quando le app eseguono direttamente programmi figlio, il programma figlio non può avviare perché l'app stessa non ha privilegi amministrativi o perché il programma figlio non è stato contrassegnato correttamente per l'elevazione con il manifesto dell'interfaccia utente.

PCA tiene traccia di questi errori e quando l'app primaria chiude, applica automaticamente la modalità di compatibilità ELEVATECREATEPROCESS che consente di eseguire correttamente i programmi figlio. Quando l'app avvia l'app figlio nelle esecuzioni successive, l'utente visualizzerà una finestra di dialogo dell'interfaccia utente per il programma figlio.

Di seguito è riportato un esempio della finestra di dialogo PCA:

l'app non avvia programmi di installazione o finestre di dialogo degli aggiornamenti

Programmi di installazione delle app che devono essere eseguiti con privilegi amministrativi

I programmi di installazione delle app desktop di Windows richiedono privilegi amministrativi poiché scrivono file, cartelle e voci del Registro di sistema nelle aree di sistema protette. Windows (UAC) ha la logica di rilevamento per identificare quando viene eseguito un programma di installazione e richiede immediatamente all'utente di fornire privilegi amministrativi tramite la finestra di dialogo dell'interfaccia utente. Tuttavia, in alcuni casi, questa logica non sarà in grado di determinare che un'app era effettivamente un programma di installazione e potrebbe non ottenere privilegi amministrativi. Questi sono in genere programmi di installazione personalizzati che non usano tecnologie di installazione note, ad esempio Windows Installer o Install Shield.

In questi casi, PCA rileva che il programma di installazione non è riuscito a scrivere i file. Alla fine se l'installazione non è riuscita, PCA fornirà una raccomandazione per applicare le impostazioni di compatibilità. Se l'utente sceglie di fare clic su "Esegui programma", PCA applicherà la modalità di compatibilità RUNASADMIN e eseguirà nuovamente il programma di installazione. Se l'utente sceglie di chiudere, non verrà applicata alcuna impostazione. Di seguito è illustrata una finestra di dialogo PCA di esempio:

Screenshot che mostra un esempio di dialogo per un programma di installazione dell'app che deve essere eseguito con privilegi amministrativi.

Le applet legacy Pannello di controllo che devono essere eseguite con privilegi amministrativi Applets del pannello di controllo cambiano in genere le impostazioni di sistema e hanno bisogno della possibilità di eseguire l'amministratore degli annunci. Tuttavia, quelli scritti prima di Windows Vista non hanno un manifesto EXE o non hanno la sezione TRUSTINFO che dichiara il livello di privilegio richiesto. Quando tali applet vengono eseguiti, PCA li rileva e alla fine della prima esecuzione, fornisce una raccomandazione per l'esecuzione con le impostazioni amministrative. Se l'utente sceglie di fare clic su "Esegui programma", PCA applica la modalità di compatibilità RUNASADMIN e esegue nuovamente il programma di installazione. Se l'utente sceglie di chiudere, non verranno applicate impostazioni. Di seguito è illustrata una finestra di dialogo PCA di esempio:

programmi di installazione delle app che devono essere eseguiti con la finestra di dialogo privilegi amministrativi

Verifica delle impostazioni consigliate tramite commenti e suggerimenti degli utenti

Alla fine di ognuno degli scenari (dopo l'esecuzione dell'app con le impostazioni di compatibilità consigliate), PCA chiederà all'utente una semplice domanda:

verifica delle impostazioni consigliate tramite la finestra di dialogo commenti e suggerimenti degli utenti

L'utente può fornire commenti e suggerimenti se l'app ha funzionato o non è riuscita con l'impostazione di compatibilità. Questi dati verranno inviati in modo anonimo a Microsoft. Ciò consente di assicurarsi che tali correzioni possano essere integrate in Windows 8 tramite il processo di aggiornamento di Windows, in modo che gli utenti futuri di Windows 8 non riscontrano più l'errore dell'app e PCA non dovranno più tenere traccia dell'app per l'errore.

Rilevamento dei problemi che non hanno raccomandazioni

Le app potrebbero non riuscire in molti modi diversi per motivi di compatibilità. PCA tiene traccia di molti più problemi di compatibilità rispetto a quelli elencati negli scenari precedenti. In questi casi, molte volte, la manifestazione del problema dipende dall'app. Ciò significa che alcune app gestiscono tali problemi in modo corretto e recuperano da esso, mentre altri potrebbero non essere. Pertanto, per tali problemi, mentre PCA tiene ancora traccia dell'app, non fornisce una raccomandazione diretta per una correzione.

I problemi che il PCA tiene traccia che non hanno un'impostazione consigliata o una finestra di dialogo includono app che:

  • Avere un runtime molto breve: le app vengono eseguite per non più di tre secondi
  • Creare oggetti di memoria globale senza privilegi amministrativi
  • Si verifica un errore (eccezione Win32) all'avvio
  • Controllare il privilegio amministrativo (ma potrebbe non riuscire)
  • Usare codec Indeo (deprecato da Windows Vista)
  • Provare a scrivere o eliminare chiavi da posizioni del Registro di sistema protette, ad esempio HKLM
  • Arresto anomalo dell'avvio

Applicazione di correzioni tramite la scheda di compatibilità e lo strumento di risoluzione dei problemi di compatibilità

Come accennato in precedenza, le app possono non riuscire per diversi motivi di compatibilità. Non tutti questi elementi hanno una raccomandazione PCA chiara perché le impostazioni sono dipendenti dall'app. Tuttavia, gli utenti possono passare al strumento di risoluzione dei problemi di compatibilità o alla scheda Compatibilità per applicare determinate correzioni comuni per cercare di ottenere il corretto funzionamento dell'app in caso di errore in Windows 8. In questi casi, PCA continuerà a tenere traccia dell'app per i problemi di compatibilità, prima e dopo l'applicazione della correzione. Dopo l'esecuzione dell'app con la correzione applicata, PCA chiederà all'utente se la correzione ha funzionato. Dopo aver risposto alla domanda, i dati vengono inviati in modo anonimo tramite dati di telemetria a Microsoft. Questi dati vengono raccolti da molti utenti e analizzati e le correzioni idonee vengono quindi distribuite a tutti gli utenti Windows 8 tramite Windows Update.

Uso dello strumento di risoluzione dei problemi di compatibilità

Lo strumento di risoluzione dei problemi di compatibilità è un meccanismo in Windows che consente di diagnosticare i problemi con le app e applicare le correzioni consigliate per usarle correttamente. Questa operazione è necessaria solo quando il PCA non fornisce alcuna raccomandazione per l'app.

Lo strumento di risoluzione dei problemi consente agli utenti di esaminare e rispondere a un set di domande e, in base alle risposte, applicherà un set di correzioni e consente agli utenti di testare le app e verificare le correzioni. Dopo aver verificato, le correzioni verranno applicate in modo permanente alle app per renderle migliori in Windows 8.

L'interfaccia utente del strumento di risoluzione dei problemi è illustrata di seguito per informazioni di riferimento:

usando la finestra di dialogo risoluzione dei problemi di compatibilità

È possibile avviare lo strumento di risoluzione dei problemi di compatibilità in due modi:

Dalla schermata iniziale:

  1. Tipo: risoluzione dei problemi di compatibilità
  2. Nella sezione Impostazioni fare clic sul riquadro "Esegui programmi creati per la versione precedente di Windows"

Dal riquadro dell'app:

  1. Nella schermata Start fare clic con il pulsante destro del mouse sul riquadro dell'app
  2. Fare clic su "Apri percorso file" (solo app desktop)
  3. Dalla barra multifunzione Esplora fare clic sulla scheda 'App'
  4. Scegliere "Risoluzione dei problemi di compatibilità"

Uso della scheda Compatibilità

Si noti che questo è consigliato solo per gli utenti esperti nel tentativo di impostazioni di compatibilità diverse. Questo metodo non fornisce alcuna raccomandazione del tipo di correzione da applicare alle app. Qui è previsto che l'utente sappia quali correzioni possono essere applicate per rendere l'app funzionante. Se non si è certi delle correzioni, usare lo strumento di risoluzione dei problemi di compatibilità per trovare una correzione per l'app.

Per accedere alla scheda Compatibilità:

Dalla schermata iniziale:

  1. Fare clic con il pulsante destro del mouse sul riquadro dell'app
  2. Apri percorso file (solo app desktop)

Dalla barra multifunzione Explorer:

  1. Fare clic su Proprietà

  2. Passare alla scheda Compatibilità

  3. Selezionare le correzioni di compatibilità

  4. Eseguire nuovamente l'app

    Nota

    È anche possibile tornare alla stessa posizione per modificare o rimuovere anche le correzioni. È anche possibile applicare le correzioni a tutti gli utenti del computer usando il pulsante fornito nella scheda.

     

usando la scheda compatibilità

App con problemi di compatibilità noti

Oltre agli scenari di rilevamento dei problemi di runtime elencati sopra, PCA informa anche gli utenti all'avvio dell'app se l'app ha problemi di compatibilità noti. L'elenco viene archiviato nel database di compatibilità dell'app di sistema. Esistono due tipi di questi messaggi:

  • Messaggi di blocco rigido: se l'app è nota per essere incompatibile e se consentire l'esecuzione dell'app comporterà un impatto grave sul sistema (ad esempio, un arresto anomalo di Windows o non è in grado di avviare dopo l'installazione), verrà visualizzato un messaggio di blocco come illustrato di seguito

app con problemi di compatibilità noti - finestra di dialogo messaggi a blocchi rigidi

  • Messaggi di blocco temporanea: se l'app ha un problema di compatibilità noto e potrebbe non funzionare correttamente, questo messaggio viene visualizzato:

app con problemi di compatibilità noti - finestra di dialogo messaggi a blocchi temporanei

In entrambi i casi, l'opzione "Get help Online" invia un report di errore di Windows per ottenere una risposta online da Microsoft e visualizzarla all'utente. In genere, le risposte puntano all'utente a uno dei tre tipi di risorse:

  • Aggiornamento dal fornitore dell'app
  • Per altre informazioni sul sito Web di un fornitore di app
  • Articolo di Microsoft Knowledge Base per altre informazioni

Telemetria per PCA

Dopo che PCA risolve eventuali problemi di app in un computer Windows 8 e riceve tutti i commenti e suggerimenti degli utenti, raccoglie dati anonimi sull'app, il programma di installazione, i problemi rilevati e le impostazioni di compatibilità applicate all'app e inviarlo nuovamente a Microsoft. Questi dati vengono raccolti da qualsiasi utente che è disposto a fornire tali dati anonimi (tramite il programma Customer Experience Improvement - CEIP). Dopo aver raccolto questi dati, gli errori e le correzioni dell'app vengono analizzate e le correzioni vengono quindi distribuite all'intero ecosistema di Windows tramite il meccanismo di Windows Update in modo che qualsiasi utente dell'app in futuro benefici dalla correzione automatica.

Controlli amministrativi e gestione delle impostazioni PCA

Gli amministratori IT possono controllare il comportamento del PCA in due modi:

  • Disattiva PCA : questa impostazione consente agli amministratori IT di disattivare le finestre di dialogo visualizzate dal PCA agli utenti; PCA continuerà a tenere traccia e rilevare i problemi e inviare i dati di telemetria

  • Disattivare i dati di telemetria dell'app : questa impostazione disattiva qualsiasi raccolta e invio di dati di telemetria da PCA

    Nota

    Se l'impostazione ceIP è disattivata, questa impostazione non ha alcun impatto.

     

Progettazione di app da usare con PCA

Gli sviluppatori devono assicurarsi che le app funzionino correttamente in tutti gli scenari di compatibilità descritti in precedenza. Gli sviluppatori devono testare e convalidare le app per ognuno degli scenari precedenti e assicurarsi che non siano presenti problemi di compatibilità. Se vengono identificati problemi di compatibilità, gli sviluppatori devono apportare le correzioni alle app necessarie per garantire che il problema di compatibilità venga risolto. Alcune delle correzioni comuni che gli sviluppatori devono includere:

  • Eliminare i controlli delle versioni del sistema operativo Windows in fase di installazione e runtime
  • Eliminare il controllo dei privilegi (verificando l'accesso all'amministratore); usare il manifesto EXE per dichiarare il livello di privilegio appropriato necessario
  • Assicurarsi che i file binari di Windows non vengano forniti all'interno del programma di installazione dell'app
  • Eliminare la scrittura in aree protette (registro, cartelle) o scrivere su file protetti
  • Firma digitale di tutti i file binari (EXE, DLL, FILE SYS)
  • Per i programmi di installazione, assicurarsi che venga aggiunta la voce "Aggiungi/Rimuovi programmi" appropriata; almeno, questa voce di metadati dell'app deve includere il nome dell'app, il server di pubblicazione, la stringa di versione e la lingua supportata. Questo indicherà al PCA che il programma di installazione è stato completato correttamente e fornisce anche un modo pratico per gli utenti di disinstallare l'app

Assicurarsi che la sezione TRUSTINFO e COMPATIBILITY del manifesto dell'app (eseguibile) venga aggiornata come elencato nel Windows 8 Compatibility Cookbook consentirà al PCA di sapere che l'app è stata progettata per Windows 8 e garantisce anche che l'app venga sempre eseguita in modo nativo senza alcuna modalità di compatibilità applicata.

Per assicurarsi che il PCA consideri che l'app sia progettata per Windows 8:

  • Per Windows 8, è necessario che tutti gli EXES (programma di installazione o runtime) siano manifesti per le sezioni TRUSTINFO e COMPATIBILITY
  • Il programma di installazione deve aggiungere una voce 'Aggiungi/Rimuovi programmi'

Glossario

Le modalità di compatibilità usate dal PCA sono elencate di seguito con una breve descrizione delle modalità abilitate.

Mode Descrizione
Windows7RTM Questa modalità emula il comportamento comune di Windows 7, incluso il numero di versione del sistema operativo 6.1
WindowsVistaSP2 Questa modalità emula il comportamento comune di Windows 7, incluso il numero di versione del sistema operativo 6.1
WindowsXPSp3 Questa modalità emula il comportamento comune di Windows XP SP3, incluso il numero di versione del sistema operativo 5.1. Include anche la modalità RUNASHIGHEST
RUNASHIGHEST Questa modalità richiede all'utente di eseguire l'app con il privilegio più alto disponibile. Gli utenti con privilegi amministrativi visualizzeranno una richiesta di elevazione dell'account utente per l'app
RUNASADMIN Questa modalità richiede sempre all'utente di eseguire l'app con privilegi amministrativi; le app con questa modalità otterranno sempre il prompt di elevazione dell'interfaccia utente
ELEVATECREATEPROCESS Questa modalità rende i processi figlio dell'app principale eseguiti con privilegi amministrativi; i processi figlio otterranno una finestra di dialogo di elevazione dell'interfaccia utente
PINDLL Questa modalità impone a una DLL di essere in memoria per un'app anche se l'app scarica la DLL
DISABLEUSERCALLBACKEXCEPTION Questa modalità intercetta le eccezioni dell'utente e consente all'app di continuare senza dover gestire l'eccezione
VIRTUALIZEDELETE Questa modalità intercetta le operazioni di eliminazione sui file protetti e impedisce alle app di non riuscire a causa di eccezioni non gestite dall'operazione di eliminazione
WRPMITIGATION Questa modalità restituisce l'esito positivo quando un'app tenta di scrivere, modificare o eliminare file protetti da Windows o voci del Registro di sistema (senza completare effettivamente l'operazione)
DXMAXIMIZEDWINDOWEDMODE Questa modalità identifica le app che entrano in modalità schermo intero e le reindirizza in modalità finestra ingrandita
HIGHDPIAWARE Questa modalità consente al resto di Windows di sapere che l'app è a conoscenza di DPI elevato e consente di eseguire il rendering corretto degli elementi dell'interfaccia utente, del testo, del tipo di carattere e così via.