Alzi la mano chi non si è mai imbattuto in sgradevoli messaggi di errore simili ai seguenti: "Errore d3dx9_*** non presente", oppure "Errore di runtime di Microsoft Visual C++ ***", o "Errore vcruntime***.dll non trovato". Altre volte il messaggio di errore è riferito genericamente ad un codice simile a "Errore 0xc000****". Ciò accade poiché viene rilevata l'assenza di una determinata libreria (per esempio una DLL) o di un'altra componente software necessaria al prosieguo dell'esecuzione. Può succedere sia con software datati, sia con quelli progettati espressamente per il vostro sistema operativo.
Qualunque sia la versione di Windows che state usando (XP/Vista/7/8/8.1/10), affinché il sistema sia (retro)compatibile con la totalità delle applicazioni, ci sono due tipologie di componenti software che devono essere sempre installate: le librerie grafiche e multimediali DirectX ed i moduli runtime di Microsoft Visual C++.
Le librerie DirectX
Le librerie DirectX sono un insieme di componenti di Windows che consentono ad applicazioni multimediali (in particolare ai giochi, ma non solo) di funzionare direttamente con l'hardware audio e video, in modo da sfruttarne le funzionalità di accelerazione multimediale e migliorare quindi l'esperienza d'uso complessiva.
Ogni versione di DirectX ha funzionalità specifiche: più è alta la versione installata, più avanzate sono le funzionalità sfruttabili dalla scheda video, a patto che sia con esse compatibili. La seguente pagina del sito ufficiale Microsoft
https://support.microsoft.com/it-it/help/179113/how-to-install-the-latest-version-of-directx
riporta in dettaglio la specifica versione di DirectX preinstallata nei vari sistemi Windows.
Per visualizzare la versione di DirectX installata sul sistema si usa il comando dxdiag: premere la combinazione di tasti Windows+R, digitate dxdiag e premere Invio. Apparirà una finestra informativa in cui dovete selezionare la scheda Schermo. Sulla parte destra della finestra ci sono due voci da controllare:
- DDI Direct 3D: è l'interfaccia di programmazione per l'accelerazione 3D installata sul sistema (nella figura sottostante è la versione 12, in quanto il comando è stato digitato su Windows 10). Da notare che Windows 10/8.1/8, per essere installati, richiedono la presenza di una scheda video compatibile come minimo con le DirectX 9 (e modello di driver WDDM 1.0).
- Livelli di funzionalità: indica i livelli di funzionalità DirectX supportate dalla scheda video installata. Più è moderna la vostra scheda video, più avanzate saranno le funzionalità supportate. La figura sottostante mostra che la scheda video (una ormai vecchia Intel HD Graphics 4600, incorporata nella CPU) supporta al massimo il livello di funzionalità 11.1 più i livelli inferiori elencati (11.0, 10.1, 10.0, 9.3, 9.2, 9.1).
- NOTA BENE: se le informazioni di diagnostica mostrano che l'accelerazione video (o audio) non è supportata, è necessario reinstallare i driver video (o audio).
Nell'esempio in figura abbiamo:
- un sistema operativo Windows 10 a 64 bit, quindi DirectX 12 e 11.3 preinstallate;
- una vecchia scheda video compatibile al massimo con DirectX 11.1 (e versioni precedenti);
- quindi, la combinazione hardware/software di tale sistema è in grado di eseguire (prestazioni a parte) qualunque software multimendiale che richieda al massimo le DirectX 11.1; potrà far girare anche applicazioni più vecchie, a patto che vengano installate (separatamente) le DirectX 9.0c.
DirectX versioni 10 e successive
A partire da Windows Vista (e successivi Windows 7/8/8.1/10) le DirectX sono preinstallate:
ciascun sistema operativo ne incorpora una o più versioni, retrocompatibili fino alla versione 10 (la versione più vecchia tra quelle moderne). Come anticipato, la pagina
https://support.microsoft.com/it-it/help/179113/how-to-install-the-latest-version-of-directx
riporta in dettaglio la versione di DirectX presente sul sistema operativo.
È importante notare che, a partire dalla versione 10, gli aggiornamenti delle DirectX, sono disponibili unicamente con l'installazione di Service Pack (a seconda del sistema operativo) oppure direttamente con aggiornamenti di sistema mediante Windows Update: non è disponibile alcun pacchetto di installazione autonomo di DirectX 10 o successivo (sono invece disponibili pacchetti autonomi di installazione per le DirectX 9.0c e versioni precedenti).
DirectX 9.0c (e precedenti)
Se la vostra scheda video supporta le DirectX 9 allora la totalità (o quasi) dei "vecchi" giochi (o applicazioni multimediali) progettati per funzionare su Windows XP/Vista/7 è compatibile (o dovrebbe esserlo) con il vostro hardware e, almeno sulla carta, dovrebbe partire sul vostro sistema. Occorre scaricare ed installare la versione più aggiornata: le DirectX 9.0c, più precisamente il DirectX End-User Runtimes (June 2010), un pacchetto di installazione autonomo che potreste trovare anche nel DVD di un vecchio gioco.
L'installazione delle DirectX 9.0c non può garantire al 100% che si avvii qualunque software multimediale, spesso il funzionamento dipende dallo specifico gioco o applicazione:
- ci sono giochi che non sono compatibili con alcune marche di schede video: per esempio, alcuni giochi 3D potrebbero non avviarsi se sul sistema c'è solo una GPU (acceleratore grafico) Intel integrata nella CPU, ma richiedono esplicitamente la presenza di una scheda video discreta (cioè separata) AMD o NVidia;
- ci sono giochi che partono solo in presenza di determinate famiglie di schede video: per esempio, se un gioco richiede una scheda video almeno AMD Radeon HD 4xxx o NVidia GTX 4xx, le schede di famiglie precedenti non saranno in grado di avviare il gioco;
- l'utente dovrebbe aggiornare costantemente i driver video ma ciò potrebbe non essere sufficiente: ci sono giochi che potrebbero funzionare correttamente solo con versioni dei driver più vecchie!
Se volete avere la certezza (o quasi) che vecchi giochi e/o applicazioni multimediali girino correttamente, dovete installare le librerie DirectX 9.0c su qualsiasi versione a 32 o a 64 bit di Windows 2000/XP/Vista/7/8/8.1/10. Dovrebbero sempre essere installate anche su Windows 98/98SE/ME (sia su un sistema reale che all'interno di macchina virtuale, creata per esempio con VirtualBox). Applicazioni che girano su versioni di Windows precedenti a Windows 98 possono richiedere versioni precedenti delle librerie DirectX (generalmente da scegliere tra DirectX 5.x/6.x/7.x/8.x a seconda della specifica applicazione o gioco).
Librerie Microsoft Visual C++ runtime
Sui sistemi Windows, la maggioranza delle applicazioni è sviluppata in un ambiente di programmazione chiamato Microsoft Visual Studio. Uno dei linguaggi incluso in tale ambiente è il Visual C++, usato principalmente quando le prestazioni sono fondamentali (come nei videogiochi). Le Microsoft Visual C++ Redistributables sono componenti software (dette runtime) richieste per il funzionamento di (quasi) tutto ciò che viene sviluppato in Visual C++. Solitamente, quando installate un software che le richiede, vengono automaticamente installate contestualmente ad esso: difatti, non è insolito avere nel sistema operativo 10 (o più) versioni differenti di tali runtime.
Può succedere che una versione specifica di runtime non sia installata sul vostro sistema ma che un'applicazione ne abbia bisogno per funzionare. Potrebbero esserci diversi motivi per l'assenza del runtime necessario:
- nell'installer dell'applicazione non c'è l'opzione che prevede l'installazione del runtime corretto (raro, ma possibile);
- avete un vecchio gioco/applicazione di cui avete conservato la cartella di installazione, magari in formato compresso (.zip o .7z) ma non l'installer;
- siete utenti avanzati ed eseguite solo l'installazione personalizzata di giochi ed applicazioni. Per questo motivo, evitate di installare, insieme a giochi/applicazioni, altre componenti che presumete siano già presenti sul vostro sistema. In qualche caso però potrebbe mancare proprio la versione specifica del runtime richiesto dalla (vecchia) applicazione che volete usare.
Indipendentemente dal motivo dell'assenza del runtime corretto, averli tutti, soprattutto i più vecchi, è necessario alla retrocompatibilità di vecchi software e giochi: più è vecchio un software, più vecchia è la versione dei runtime da installare. Microsoft permette la libera distribuzione dei runtime, il problema è reperire tutte le versioni uscite negli anni con i relativi aggiornamenti. In questo ci viene in aiuto il sito TechPowerUp che 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/. Il file, compresso in formato .zip, contiene sia le versioni a 32 che quelle a 64 bit dei Visual C++ runtime, a partire dalle vecchie versioni 2005, 2008, 2010, 2012 e 2013. Le versioni più recenti sono state sviluppate da Microsoft in modo da avere un unico file (per esempio, la versione 2019 include anche tutto ciò che è necessario ad applicazioni sviluppate con le versioni 2015 e 2017).
Andate al link precedentemente indicato, scaricate il file .zip contenete i runtime,
estaetelo in una cartella ma ASPETTATE AD INSTALLARE:
anche i runtime più vecchi potrebbero ricevere aggiornamenti, bisogna assicurarsi che Windows Update li individui e li intalli, abilitando l'opzione che aggiorna altri software Microsoft (oltre al sistema operativo).
Abilitare gli aggiornamenti di applicazioni Microsoft in Windows 10
Andare in START > Opzioni > Aggiornamento e sicurezza e fare click su "Opzioni avanzate". Verificare che sia attivata l'opzione "Ricevi aggiornamenti per altri prodotti Microsoft durante l'aggiornamento di Windows" (se non lo è attivatela manualmente).
Abilitare gli aggiornamenti di applicazioni Microsoft in Windows 8.1/8
- Aprire Windows Update, selezionare Impostazioni > Modifica impostazioni PC > Aggiornamento e ripristino > Windows Update;
- selezionare "Scegli come installare gli aggiornamenti";
- in Aggiornamenti importanti, selezionare "Installa gli aggiornamenti automaticamente (scelta consigliata)";
- in Aggiornamenti consigliati seleziona "Scarica gli aggiornamenti consigliati allo stesso modo degli aggiornamenti importanti". Se non selezionate questa opzione, dovete ricordarvi di eseguire manualmente il controllo degli aggiornamenti consigliati;
- in Microsoft Update selezionare "Scarica aggiornamenti per altri prodotti Microsoft durante l'aggiornamento di Windows", quindi premere Applica.
Abilitare gli aggiornamenti di applicazioni Microsoft in Windows 7/Vista
- Dal pulsante START fare click su Tutti i programmi e selezionare Windows Update (oppure usate casella di ricerca, cercate Windows Update ed avviatelo);
- selezionare "Scegli come installare gli aggiornamenti";
- nel riquadro sinistro selezionare Cambia impostazioni e quindi, in Aggiornamenti importanti, selezionare "Installa gli aggiornamenti automaticamente (scelta consigliata)";
- in Aggiornamenti consigliati selezionate l'opzione "Scarica gli aggiornamenti consigliati allo stesso modo degli aggiornamenti importanti" e premere OK. Se preferite non selezionare la casella dovete ricordarvi di eseguire manualmente il controllo degli aggiornamenti consigliati.
Installare i runtime Visual C++
A questo punto installate le varie versioni dei Visual C++ redistributable:
- se usate una versione di Windows a 32 bit dovete (e potete) installare solo le versioni a 32 bit dei runtime, identificabili dalla presenza della sottostringa di caratteri x86 nel nome del file (il motivo è che i sistemi operativi a 32 bit possono eseguire solo software a 32 bit). Per esempio il runtime a 32 bit del redistributable 2005 si chiama vcredist2005_x86.exe;
- se usate una versione di Windows a 64 bit dovete installare sia le versioni a 32 che quelle a 64 bit dei runtime, perché i sistemi operativi a 64 bit possono eseguire sia software a 32 che a 64 bit (le versioni a 64 bit sono identificabili dalla presenza della sottostringa di caratteri x64 nel nome del file). Per esempio il runtime a 64 bit del redistributable 2005 si chiama vcredist2005_x64.exe. Dovete installare entrambe le versioni 32/64 bit perché molti vecchi giochi ed applicazioni esistono solo in versione a 32 bit. Viceversa, se non installate anche le vecchie versioni a 64 bit dei runtime, tagliate fuori vecchi giochi/applicazioni che, seppur datati, potrebbero beneficiarne.
Dopo aver terminato l'installazione di tutti i redistributable, riavviate Windows e lanciate Windows Update per verificare se qualcuno di essi richieda degli aggiornamenti: se ce ne sono, scaricate ed installate gli aggiornamenti, infine riavviate Windows un'ultima volta.
Se volete avere la certezza (o quasi) che vecchi giochi e/o applicazioni vengano avviati, dovete installare le versioni più vecchie dei runtime (almeno 2005, 2008, 2010), su qualsiasi versionea a 32 o a 64 bit di Windows 2000/XP/Vista/7/8/8.1/10. Applicazioni che girano su versioni di Windows precedenti (le varie 95/98/98SE/ME) possono richiedere versioni ancora più vecchie o librerie software differenti, specifiche per ciascuna applicazione).
POTREBBE INTERESSARTI ANCHE…
- Come rendere Windows 10 e Windows 8/8.1 compatibili con vecchi giochi ed applicazioni (anche quelle usate per lavoro o studio)
- Come aggiungere l'Editor Criteri di Gruppo locali (gpedit.msc) a Windows 10 Home, Windows 8/8.1 Home, Windows 7 Home
- Librerie DLL, cosa sono, a che servono, come registrarle, deregistrarle e ripristinarle