GUIDA Come rendere Windows 10/8.1/8/7/Vista compatibile con (quasi) tutti i vecchi giochi ed applicazioni

Stato
Discussione chiusa ad ulteriori risposte.

BAT

Moderatore
Staff Forum
Utente Èlite
5,815
2,495
CPU
Neurone solitario
Dissipatore
Ventaglio azionato a mano
Scheda Madre
Casalinga
RAM
Molto molto volatile
GPU
Binoculare integrata nel cranio
PSU
Pastasciutta, pollo e patatine al forno
Net
Segnali di fumo e/o tamburi
OS
Windows 10000 BUG
Introduzione
Questa guida è l'unione (e "riassunto" per niente breve) di due guide pubblicate originariamente sul mio blog. Lo scopo delle guide è illustrare come massimizzare la compatibilità delle moderne versioni di Windows con giochi e/o applicazioni originariamente progettate per il funzionamento su Windows XP (e talvolta versioni precedenti). Se vi interessa conoscere tutti i dettagli potete leggere le guide originali:
Se i dettagli non vi interessano potete limitarvi a leggere attentamente le righe seguenti.

La maggior parte delle volte che l'esecuzione di un vecchio gioco o applicazione risulta problematica in Windows 10 (ma anche 8.1/8/7/Vista) il problema è riconducibile a componenti software mancanti:
  • errori dovuti alle librerie DirectX: in genere si riceve un messaggio di errore simile a "Errore d3dx9_*** non presente". Questo messaggio indica la mancata installazione librerie grafiche e multimediali DirectX 9;
  • errori dovuti all'assenza di componenti runtime Visual C++: in genere si riceve un messaggio di errore simile a "Errore di runtime di Microsoft Visual C++ ***", o "Errore vcruntime***.dll non trovato". A volte il messaggio di errore è indicato da un codice simile a "Errore 0xc000****". Ciò accade quando viene rilevata l'assenza di una libreria (per esempio una libreria DLL) o di un'altra componente software necessaria per continuare l'esecuzione del vecchio gioco/applicazione;
  • errori riferiti a un codice simile a 0xc0000022.
Installare le DirectX 9
Le DirectX sono librerie grafiche e multimediali. A partire da Windows Vista (e successivi Windows 7/8/8.1/10) le DirectX sono preinstallate in Windows: ciascun sistema operativo ne incorpora una o più versioni, retrocompatibili fino alla versione 10 (la versione più vecchia tra quelle moderne. NOTA: per "moderne" si intendono le versioni DirectX a partire dalla 10). L'aggiornamento e le patch correttive viene eseguita mediante Windows Update.
Per i vecchi giochi però è necessaria la presenza delle DirectX 9, che devono essere installate dall'utente. Il pacchetto che vi serve si chiama Direct X 9.0c End-user Runtime (June 2010): se non lo trovate insieme all'installer di un determinato gioco/applicazione dovete scaricarlo da Internet. L'installazione di questo pacchetto è assolutamente indispensabile su tutte le versioni di Windows successive a Windows XP: se state usando Windows Vista/7/8/8.1/10 e dovete eseguire vecchi giochi o applicazioni, dovete installarlo per forza. Se la vostra scheda video supporta le DirectX 9 la totalità (o quasi) dei "vecchi" giochi/applicazioni multimediali è compatibile (o dovrebbe esserlo) con il vostro hardware e, almeno sulla carta, dovrebbe partire sul vostro sistema. Tuttavia l'installazione delle DirectX 9.0c non può garantire al 100% che si avvii qualunque cosa:
  • ci sono giochi che non sono compatibili con alcune marche di schede video;
  • ci sono giochi che partono solo in presenza di determinate famiglie di schede video e rifiuteranno di avviarsi con schede più vecchie;
  • i driver video dovrebbero sempre essere aggiornati, tuttavia ci sono giochi che potrebbero funzionare correttamente solo con versioni vecchie dei driver!
  • alcuni giochi potrebbero non funzionare mai, per esempio se richiedessero esplicitamente una versione DirectX precedente alla 9.
Installare i Microsoft Visual C++ runtime
Sui Windows, giochi e applicazioni sono sviluppati quasi sempre con Microsoft Visual Studio. Il linguaggio Visual C++ è usato quando le prestazioni sono fondamentali (come nei videogiochi). Per questo motivo vi sono alcune componenti software (dette runtime) da installare per il funzionamento di (quasi) tutto ciò che viene sviluppato in Visual C++. Tali runtime esistono in molte versioni; solitamente, vengono incluse ed automaticamente installate insieme a giochi/applicazioni, infatti se ne possono avere nel sistema operativo 10 (o più) versioni differenti. Tuttavia può succedere che una versione specifica di runtime non sia installata sul vostro sistema ma che un'applicazione ne abbia bisogno per funzionare. Indipendentemente dal motivo dell'assenza del runtime corretto, averli tutti è necessario alla retrocompatibilità di vecchi software e giochi: più è vecchio un software, più vecchia è la versione dei runtime da installare. Quindi se volete essere sicuri che non vi manchi nulla dovete installarli tutti.
Il sito TechPowerUp mantiene una lista aggiornata dei runtime e li rende disponibili in un unico download alla pagina https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/. Scaricate il file .zip in una cartella ed eseguite il file .BAT in essa contenuto che ve li installerà tutti in un sol colpo (in alternativa potete farlo a mano). Vi ricordo che se state usando un sistema operativo a 32 bit potrete installare solo le versioni a 32 bit (sono i file che finiscono per x86.exe); se usate un sistema Windows a 64 bit dovete installare sia le versioni a 32 bit che quelle a 64 bit (cioè tutti i file).

Attivare DirectPlay su Windows 10/8.1/8
Quando si avvia su Windows 10/8.x un vecchio gioco/applicazione, ci si può imbattere in uno sgradevole e poco comprensibile messaggio, riferito genericamente al codice di errore 0xc0000022. Il malfunzionamento dipende dall'assenza del supporto al DirectPlay, una componente delle librerie Microsoft DirectX non più supportata a partire da Windows Vista/7. La prima cosa che dovete fare naturalmente è installare le DirectX 9.0c come visto in precedenza. La seconda cosa da fare è attivare il DirectPlay su Windows 10/8.1/8:
  • aprire il Pannello di Controllo e andare in Programmi e funzionalità;
  • fare click su "Attivazione o disattivazione delle funzionalità di Windows";
  • selezionare le caselle relative a Componenti legacy e DirectPlay e premere <OK>. Partirà il processo di installazione, finito il quale si potrà provare a lanciare l'applicazione malfunzionante.
NOTA BENE: questa procedura NON FUNZIONA su Windows 7/Vista perché nel Pannello di Controllo, in Programmi e funzionalita>Attivazione o disattivazione delle funzionalità di Windows, mancano le Componenti Legacy e DirectPlay: su tali sistemi l'installazione delle librerie DirectX e delle componenti runtime Visual C++ è (quasi sempre) sufficiente a risolvere il problema.
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando

Hot: Quale crypto per il futuro?

  • Bitcoin

    Voti: 23 54.8%
  • Ethereum

    Voti: 15 35.7%
  • Cardano

    Voti: 9 21.4%
  • Polkadot

    Voti: 2 4.8%
  • Monero

    Voti: 6 14.3%
  • XRP

    Voti: 6 14.3%
  • Uniswap

    Voti: 0 0.0%
  • Litecoin

    Voti: 4 9.5%
  • Stellar

    Voti: 3 7.1%
  • Altro (Specifica)

    Voti: 6 14.3%