Un po' di storia
(Per avere direttamente la soluzione vai alla fine del post) Quando ho cominciato a scrivere questo post avevo da poco installato Windows Vista, era il lontano dicembre 2006! Uno degli errori che immediatamente dava sfoggio di se era il maledetto modulo COM Surrogate. A quei tempi Nero Burning Rom ancora non era compatibile e si sospettava che la causa stava proprio in esso (non strettamente per il fatto dell' incompatibilità), molti altri (me incluso) avevano pensato invece proprio al codec DivX ed altri a diversi fattori ancora..
Sta di fatto che gli unici modi per venirne a capo erano:
- XviD al posto di DivX
- FddShow al posto dei due sopra o almeno di DivX
- Disabilitare l'anteprima dei file video
Dell'anteprima dei video non me ne è mai fregato un granchè, stessa cosa non posso dire però per l'anteprima delle immagini! Ora vi chiederete cosa centrano le immagini? Io vi dico che centrano, almeno con Vista.
Eh si..perchè in Vista, selezionando la nuova opzione disponibile dall'ex Opzioni cartella, disabilità tutte le anteprime, quindi immagini comprese, documenti ecc..
Dato ciò l'ultima soluzione più sbrigativa non mi garbava affatto. Poco tempo dopo DivX Inc. ha rilasciato una versione patchata del codec che non era ancora compatibile con Vista ma almeno non dava il tanto decantato errore (diciamo che era un raggiro temporaneo). Quindi a quei tempi la soluzione da me adottata era questa.
Torniamo ai giorni nostri
Di recente invece ho installato sul computer della mia ragazza la versione 6.8, aspettandomi qualche netto miglioramento o addirittura la piena compatibilità come indicata tra l'altro sul sito ufficiale divx.com; ed invece mi sono ritrovato di nuovo questo fastidioso errore ogni 20 secondi o meno.
Diagnosi del problema e soluzione? Ecco qua!
Il problema è da imputare al DEP (Data Execution Prevention) implementato nei sistemi operativi Microsoft a partire da Windows XP SP2. La soluzione sta quindi nell'inserire il file dllhost.exe che si trova nella cartella system32 di Windows nella lista delle esclusioni del DEP. A questo scopo seguite questi semplici passi:
- Cliccate sul menù Start (simbolo di Windows per chi usa Aero)
- Clic destro su Computer > Properità
- Clic su Impostazioni di sistema avanzate
- Andate nella scheda Avanzate, e cliccate su impostazioni relativo alla Tab Impostazioni
- Cliccate sul'ultima scheda, quella relativa al DEP e selezionate la seconda opzione. A questo punto la lista in basso si attiverà
- Fate click su aggiungi, selezionate il file dllhost.exe nella cartella system32 di Windows e cliccate su OK
- Applicate tutte le modifiche e uscite
Ora il problema è risolto!
Aggiornamento del 2 Agosto 2008
Nei giorni a venire dopo aver postato, si sono rivelate altre soluzioni per eliminare il problema (che ricordo è sempre causato da codec o altri componenti COM).
Ancora una volta i colpevoli in gioco possono essere i software Ahead Nero (per via dei filtri che installa), il codec DivX e altri software del genere.
Ecco qua una lista delle altre possibili soluzioni:
- Se installati, provate ad aggiungere nella lista degli eseguibili esclusi dal DEP anche i software DivX e Nero (gli eseguibili).
- Se nel vostro sistema è installato il codec DivX, aggiornatelo tramite il software in dotazione Check for DivX Updates, oppure manualmente dal sito, all'ultima versione disponibile.
- Se nel vostro sistema è installato Nero, aggiornate anche esso all'ultima versione: 7.11.10.0 per la versione 7 oppure 8.3.6.0 per la versione 8.
- Se nel vostro sistema è installato ffdshow aggiornate anch'esso all'ultima versione (alcune vecchie versioni possono creare il problema)
- Se fatto ciò avete ancora problemi vi consiglio, tramite l'installazione personalizzata, di non installare Nero Showtime (che dovrebbe essere il programma che installa i filtri di visualizzazione causa del problema)
Se dopo tutte questa prove il problema persiste, allora una metodo ben preciso non c'è, o meglio andrebbe trovato diagnosticando.
Io proverei a disabilitare completamente il DEP per vedere se sparisce. In questo modo si riesce a capire se nel vostro caso centra qualcosa o meno, solo dopo questo accertamento lo ri-abiliterei e proverei ad inserire nella lista delle esclusioni, software della stessa tipologia del DivX (codec, filtri video ecc).
In effetti si potrebbero utilizzare strumenti diagnostici più complessi (tipo process monitor) per capire come mai avviene il problema, tuttavia è una operazione consigliata solo a una persona veramente esperta che, tra l'altro, dovrebbe essere proprio davanti la macchina o almeno in Remote Desktop o simili.