Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Piattaforme
Client - Windows XP | | di Windows Vista Windows 7 | Windows 8
Descrizione
Program Compatibility Assistant (PCA) è una funzionalità in Windows 8 che consente agli utenti finali di eseguire app desktop progettate per le versioni precedenti di Windows. Windows 8 ha un'ottima compatibilità delle app integrata che consente alle app progettate per Windows 7 o versioni precedenti di Windows di funzionare in modo ottimale in Windows 8 automaticamente. Tuttavia, ci sono un numero ridotto di app che possono avere problemi in esecuzione senza intervento.
Quando un utente esegue un'app, PCA tiene traccia dell'app e identifica i sintomi di determinati problemi di compatibilità noti in Windows 8. Quando rileva eventuali sintomi del problema, fornisce all'utente l'opportunità di applicare una correzione consigliata che aiuterà a eseguire meglio l'app 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 istruzioni per applicare una correzione consigliata. L'utente può decidere di applicare le correzioni consigliate o 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 della creazione del programma (o della relativa configurazione). PCA usa gli attributi LINK_DATE e SOTTOSISTEMA VERSION del programma e le sezioni TRUSTINFO e COMPATIBILITÀ 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 al PCA e alla 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 interromperà quindi definitivamente il rilevamento dell'app specifica che non è riuscita.
Mentre PCA tiene traccia di molti potenziali problemi, non tutti i problemi causano effettivamente errori dell'app. PCA consiglia correzioni solo in situazioni in cui esiste una probabilità elevata 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 dal PCA per consentire all'app di continuare a funzionare correttamente in Windows 8.
Per altre informazioni sulle modifiche alla compatibilità in Windows 8, vedere gli altri argomenti del cookbook di compatibilità Windows 8.
Gli scenari da tenere traccia del PCA e consiglia di correggere:
- L'app non riesce a installare o disinstallare
- L'app non riesce a essere eseguita con un messaggio di controllo della versione di Windows
- L'app non viene avviata a causa dei privilegi amministrativi
- Arresto anomalo 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 ha esito negativo 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 ha esito negativo a causa di problemi di grafica e visualizzazione
- L'app non riesce a dichiarare la consapevolezza dpi
- L'app non riesce a causa delle funzionalità di Windows mancanti
- L'app non riesce a causa di driver senza segno 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
- Applets legacy Pannello di controllo che devono essere eseguiti con privilegi amministrativi
Ognuno di questi scenari è 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 esito negativo in due modi:
- Il programma di installazione non è a conoscenza delle funzionalità controllo account utente in Windows 8, quindi 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 blocca 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 L'interfaccia utente, rileva i programmi di installazione all'avvio e li tiene traccia alla fine dell'installazione. Se il programma di installazione non riesce a aggiungere file o per aggiungere una voce valida nella parte "Aggiungi programmi" del pannello di controllo windows, PCA considera l'installazione non riuscita.
In questo caso, PCA consiglia una modalità di compatibilità appropriata per l'app. La modalità di compatibilità consente all'installazione di eseguire il programma di installazione in modalità Windows progettato per e garantisce anche che l'app venga eseguita con privilegi amministrativi. PCA applica la modalità di compatibilità RUNASADMIN insieme alla modalità di compatibilità di Windows XP, Windows Vista o Windows 7 appropriata. L'utente, alla fine dell'installazione non riuscita, visualizzerà una finestra di dialogo con la raccomandazione PCA:
L'utente può quindi scegliere:
- Eseguire il programma usando le impostazioni di compatibilità (opzione consigliata), dopo il 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 caso in cui PCA non aggiungerà alcuna impostazione e interromperà il rilevamento di questa configurazione
Lo stesso meccanismo viene usato per aiutare 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'app non riesce a essere eseguita 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 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'app termina immediatamente o si arresta in modo anomalo
Se PCA identifica entrambe queste condizioni per un'app, fornirà una raccomandazione all'utente. PCA consente all'utente di eseguire nuovamente l'app con le impostazioni di compatibilità. PCA applicherà la modalità di compatibilità di Windows XP, Windows Vista o Windows 7 appropriata 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. Viene fornita una finestra di dialogo di esempio come indicato di seguito:
L'app non riesce a avviare o eseguire a causa dei privilegi amministrativi
Alcune app richiedono privilegi amministrativi per l'esecuzione e l'esecuzione delle funzionalità. Tuttavia, in Windows 8, simile a Windows 7 e Windows Vista, le app vengono eseguite nei livelli di privilegi inferiori per impostazione predefinita a causa dell'interfaccia utente. Le app più recenti progettate per Windows Vista e versioni successive dichiarano in genere il livello di privilegio che devono essere eseguite usando 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 illustrato di seguito:
- 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 consente all'utente di eseguire nuovamente l'app con privilegi amministrativi (PCA applica la modalità di compatibilità RUNASHIGHEST). L'utente riceverà un prompt dell'interfaccia utente quando l'app viene riesegua. Come in uno degli scenari, l'utente può scegliere di ripetere l'esecuzione con l'impostazione consigliata o rifiutare esplicitamente le impostazioni consigliate facendo clic su Chiudi. Viene fornita una finestra di dialogo di esempio come indicato di seguito:
Arresto anomalo dell'app a causa di problemi di memoria specifici
Alcune app si arrestono 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 alle modifiche di compatibilità Windows 8, è un problema relativamente comune visto in un'ampia gamma di app. PCA tiene traccia di questo problema per consentire agli utenti 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 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 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 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 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 enumereranno 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'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'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'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.
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:
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 ed eseguirà di nuovo 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:
Le applet legacy Pannello di controllo che devono essere eseguite con applet del Pannello di controllo con privilegi amministrativi modificano in genere le impostazioni di sistema e necessitano 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 ed 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:
Verifica delle impostazioni consigliate tramite il feedback degli utenti
Al termine di ognuno degli scenari (dopo l'esecuzione dell'app con le impostazioni di compatibilità consigliate), PCA chiederà all'utente una semplice domanda:
L'utente può fornire commenti e suggerimenti se l'app ha funzionato o ha avuto esito negativo con l'impostazione di compatibilità. Questi dati verranno inviati in modo anonimo a Microsoft. Ciò consente di garantire 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 riscontrino più l'errore dell'app e PCA non dovrà 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 questi problemi normalmente e recuperano da esso, mentre altri potrebbero non farlo. Pertanto, per questi problemi, mentre PCA tiene ancora traccia dell'app, non fornisce una raccomandazione diretta per una correzione.
I problemi rilevati da PCA 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
- Verificare la presenza di privilegi amministrativi (ma potrebbe non riuscire)
- Usare codec Indeo (deprecati da Windows Vista)
- Provare a scrivere o eliminare chiavi da percorsi del Registro di sistema protetti, ad esempio HKLM
- Arresto anomalo all'avvio
Applicazione di correzioni tramite la scheda 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 dipendono dall'app. Tuttavia, gli utenti possono passare allo strumento di risoluzione dei problemi di compatibilità o alla scheda Compatibilità per applicare alcune correzioni comuni per provare a ottenere il corretto funzionamento dell'app in caso di errore in Windows 8. In questi casi, PCA continuerà a tenere traccia dell'app per individuare 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 che l'utente risponde alla domanda, i dati vengono inviati in modo anonimo tramite i dati di telemetria a Microsoft. Questi dati vengono raccolti da molti utenti e analizzati e le correzioni idonee vengono quindi distribuite su larga scala 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 di Windows che consente di diagnosticare i problemi con le app e di applicare correzioni consigliate per il corretto funzionamento. Questa operazione è necessaria solo quando 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 consentirà agli utenti di testare le app e verificare le correzioni. Dopo la verifica, le correzioni verranno applicate in modo permanente alle app per renderle migliori su Windows 8.
L'interfaccia utente dello strumento di risoluzione dei problemi è illustrata di seguito per riferimento:
È possibile avviare lo strumento di risoluzione dei problemi di compatibilità in due modi:
Dalla schermata Start:
- Tipo: strumento di risoluzione dei problemi di compatibilità
- Nella sezione impostazioni fare clic sul riquadro "Esegui programmi creati per la versione precedente di Windows"
Dal riquadro dell'app:
- Nella schermata Start fare clic con il pulsante destro del mouse sul riquadro dell'app
- Fare clic su "Apri percorso file" (solo app desktop)
- Nella barra multifunzione Explorer fare clic sulla scheda 'App'
- Scegliere "Risoluzione dei problemi di compatibilità"
Uso della scheda Compatibilità
Si noti che questa opzione è consigliata solo per gli utenti esperti di provare impostazioni di compatibilità diverse. Questo metodo non fornisce alcuna raccomandazione del tipo di correzione da applicare alle app. In questo caso, l'utente dovrebbe sapere 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 Start:
- Fare clic con il pulsante destro del mouse sul riquadro dell'app
- Aprire il percorso del file (solo app desktop)
Dalla barra multifunzione Explorer:
- Fare clic su Proprietà
- Passare alla scheda Compatibilità
- Selezionare le correzioni di compatibilità
- Eseguire di nuovo l'app
Nota
È possibile tornare allo stesso posto per modificare o rimuovere anche le correzioni. È anche possibile applicare le correzioni a tutti gli utenti del computer usando il pulsante fornito nella scheda .
App con problemi di compatibilità noti
Oltre agli scenari di rilevamento dei problemi di runtime elencati in precedenza, PCA informa anche gli utenti all'avvio dell'app se l'app presenta problemi di compatibilità noti. L'elenco viene archiviato nel database di compatibilità delle app di sistema. Esistono due tipi di questi messaggi:
- Messaggi di blocco rigido: se l'app è nota come incompatibile e se si consente l'esecuzione dell'app genererà un impatto grave sul sistema (ad esempio, un arresto anomalo di Windows o non è in grado di avviarsi dopo l'installazione), verrà visualizzato un messaggio di blocco come illustrato di seguito.
- Messaggi di blocco temporaneo: se l'app presenta un problema di compatibilità noto e potrebbe non funzionare correttamente, viene visualizzato questo messaggio:
In entrambi i casi, l'opzione "Ottieni assistenza online" invia una segnalazione errori Windows per ottenere una risposta online da Microsoft e visualizzarla all'utente. In genere, le risposte indirizzano l'utente a uno dei tre tipi di risorse seguenti:
- Aggiornamento del fornitore dell'app
- Il sito Web di un fornitore di app per altre informazioni
- Un articolo della 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 lo inviano a Microsoft. Questi dati vengono raccolti da qualsiasi utente disposto a fornire tali dati anonimi (tramite il Programma Analisi utilizzo software - Analisi utilizzo software). Una volta raccolti questi dati, gli errori e le correzioni dell'app vengono analizzati 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 trae vantaggio automaticamente dalla correzione.
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 da PCA agli utenti; PCA continuerà a tenere traccia e rilevare i problemi e inviare i dati di telemetria
- Disattiva telemetria dell'app : questa impostazione disattiva qualsiasi raccolta e invio di dati di telemetria da PCA
Nota
Se Analisi utilizzo software è disattivato, 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 apportare includono:
- Eliminare i controlli delle versioni del sistema operativo Windows in fase di installazione e runtime
- Eliminare il controllo dei privilegi (verifica dell'accesso amministratore); usare il manifesto EXE per dichiarare il livello di privilegio appropriato necessario
- Assicurarsi che i file binari di Windows non vengano spediti all'interno del programma di installazione dell'app
- Eliminare la scrittura in aree protette (registro, cartelle) o scrivere su file protetti
- Firmare digitalmente tutti i file binari (EXE, DLL, file SYS)
- Per i programmi di installazione, assicurarsi che venga aggiunta la voce 'Installazione applicazioni' appropriata; almeno, questa voce di metadati dell'app deve includere il nome dell'app, l'editore, la stringa di versione e la lingua supportata. Ciò indicherà al PCA che il programma di installazione è stato completato correttamente e fornirà anche un modo pratico per consentire agli utenti di disinstallare l'app
Verifica che la sezione TRUSTINFO e COMPATIBILITY del manifesto dell'app (eseguibile) venga aggiornata come elencato nel cookbook di compatibilità Windows 8 comunicherà al PCA che l'app è stata progettata per Windows 8 e garantirà anche che l'app venga sempre eseguita in modo nativo senza alcuna modalità di compatibilità applicata.
Per assicurarsi che PCA consideri l'app progettata per Windows 8:
- Tutte le sezioni EXEs (programma di installazione o runtime) devono essere manifestate per le sezioni TRUSTINFO e COMPATIBILITY per Windows 8
- Il programma di installazione deve aggiungere una voce 'Installazione applicazioni'
Glossario
Le modalità di compatibilità usate da 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. Ciò 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à riceveranno sempre la richiesta di elevazione dell'account 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'account utente |
PINDLL | Questa modalità impone che una DLL sia in memoria per un'app anche se l'app scarica la DLL |
DISABLEUSERCALLBACKEXCEPTION | Questa modalità intercetta le eccezioni di callback 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 passano alla modalità schermo intero e le reindirizza in una modalità finestra ingrandita |
HIGHDPIAWARE | Questa modalità consente al resto di Windows di sapere che l'app è sensibile a DPI elevato e consente il rendering corretto di elementi dell'interfaccia utente, testo, tipo di carattere e così via. |