domenica 20 gennaio 2008

Come risolvere l' errore COM Surrogate in Windows Vista

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:

  1. Cliccate sul menù Start (simbolo di Windows per chi usa Aero)
  2. Clic destro su Computer > Properità
  3. Clic su Impostazioni di sistema avanzate
  4. Andate nella scheda Avanzate, e cliccate su impostazioni relativo alla Tab Impostazioni
  5. Cliccate sul'ultima scheda, quella relativa al DEP e selezionate la seconda opzione. A questo punto la lista in basso si attiverà
  6. Fate click su aggiungi, selezionate il file dllhost.exe nella cartella system32 di Windows e cliccate su OK
  7. 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.

giovedì 17 gennaio 2008

Chissà se ne avrò mai il tempo...

Di fare tutte le cose che voglio senza rinunciare a troppo...non dico a niente perchè purtroppo sarebbe impossibile. E' incredibile come la quotidianità possa impedire ad un persona di riuscire a fare qualcosa di più oltre l' ordinario.

In effetti pensandoci bene da una parte sono anche io che forse chiedo troppo:

    1. Devo andare all' università la mattina o il pomeriggio;
    2. Devo andare al lavoro la mattina o il pomeriggio (in simbiosi con l' università: quindi mattina università, pomeriggio lavoro o viceversa)
    3. Vorrei ricominciare ad andare in palestra ma soprattutto...
    4. Vorrei seriamente ricominciare a programmare!

Ed è qui che scatta l' organizzazione..

Prendi quindi l' orario dell' università e trovi i buchi liberi per poter fare altro, un esempio? Quando c' è il corso di fondamenti di programmazione non vai :) .Così hai qualche ora libera per programmare o fare altro! E quando c' è qualche altro corso di cui ti rendi conto di non capirci nulla...salti anche quello! Peccato che andando avanti così non mi laureerò mai...

Ma il vero problema sono..

GLI IMPREVISTI. Che brutta parola! Quelle cose che non ti aspetti e che seguendo Murphy:

« Se qualcosa può andare storto lo farà. »

Di conseguenza se sei riuscito a trovarti un buco per ficcare qualsiasi altro impegno, stai tranquillo che sfumerà come se nulla fosse senza nemmeno accorgertene (Murphy docet :P)

E questo blog ne è la prova..

Di fatti l' ultimo post risale al 25 ottobre. E' incredibile quanto tempo sia passato ma ancora di più di come non sia riuscito proprio a postare neanche durante le feste natalizie. Ed ovviamente non riesco a spiegarmelo.

Sta di fatto che sono di nuovo qui. Come mai? Oggi ho sostenuto l' ultimo esame del primo trimestre quindi trovo un attimo stasera per scrivere qui al posto di guardare un film, dato che non so nemmeno quale film guardare. Tuttavia sono già cominciati i corsi del secondo trimestre quindi tra poco sparirò di nuovo per un bel po'.

E tutte quelle specie di "Roadmap" dei software?

Ecco questa è una bella domanda! Ora come ora ho smesso di programmare (e non solo gli impegni), quindi è inutile fare prospettive sul futuro, tanto sarebbero troppo precarie...

Intanto spero di potere concludere qualcosa perchè la quotidianità mi ha veramente stufato. E ora dopo un bel po' di cretinate posto qualcosa di più interessante che ho scritto parecchio tempo fa ma che non finii per ovvii motivi. Avete mai visto una finestra con la scritta "COM Surrogate"?