Ciao sono sysmillo
Vedi il mio profilo


Febbraio 2008

DLMMGVS
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29

Tag

Diffondi i contenuti

Aggiungi al mio Dada

Aggiungi al mio Dada

Condividi i contenuti

De.licio.us
Tag urlmon.dll

In qualche post precedente ho accennato al fatto che stavo lavorando ad un programma che stranamente con l'aggiornamento di Internet Explorer aveva smesso di funzionare.
Dopo giorni di lavoro, ho scoperto che il problema era dovuto ad una dll (urlmon.dll), quindi per far funzionare il programma ho creato un 'accrocchio' :
    1. ho recuperato la dll vecchia, installata prima di IE7
    2. registro la dll : regsvr32 <path dll>urlmon.dll
    3. avvio il programma
    4. deregistro la dll : regsvr32 /u <path dll>urlmon.dll
   
E' una soluzione poco elegante ma funziona e comporta alcuni problemi :
    1. dal momento che viene registrata la dll qualsiasi altro programma che viene avviato e che ne fa uso, utilizza quella vecchia
    2. conseguenza del punto 1. la dll non viene deregistrata se utilizzata da un altro programma
    3. conseguenza del punto 2. non funzionano bene i collegamenti in Internet Explorer 7 con la dll vecchia.

Per ovviare al punto 2 e quindi il 3 dopo la deregistrazione della dll vecchia faccio una registrazione della dll originale.

Tutto questo mi permette di far funzionare il programma con Office dal 97 alla versione 2003, con Office 2007 non funziona. Ma qui sembra che il problema non sia solo della dll.

Ora non so dove mettere le mani. Si faceva prima a riscrivere il programma da capo.

Per chi ignora, la dll in questione è la libreria in cui ci sono le funzioni usate dal MS OLE (Object Linking Embedding), e quindi si occupa anche dei collegamenti a file esterni a programmi Microsoft, quali Office.

Tag urlmon.dll