Funzionalità Easy Print e errore System.BadImageFormatException

In Windows 2008 Server per quanto riguarda la funzionalità di Terminal Services sono state introdotte varie novità, tra queste vi è Easy Print che permette di inviare al client le stampe. Easy Print si basa su .NET Framework 3.0 e sul formato XPS ed elimina il problema di dover istallare sul server i driver delle stampanti client.

In questi giorni nell’ambito di un progetto IT Pro Momentum sto facendo test con un sever su cui ho installato Windows 2008 Server Standard SP2 a 64 bit e ho rilevato l’errore System.BadImageFormatException. Ovvero un’eccezione non gestita che si scatena lato client (nel mio caso XP SP3 con .NET 3.5 SP1) all’atto della stampa, Il problema è anche l’oggetto di questo tread XP Service Pack 3 and Easy Print.

image

In particolare nel mio caso avevo due client entrambi XP SP3 stesso modello di PC installati praticamente contemporanente, ma l’errore compariva solo su uno e questo mi ha permesso di risalire alla possibile causa.

Su quello senza errore avevo installto Visual Studio 2008 che ha installato automaticamente .NET 3.5 sp1.

Su quello che presentava l’errore l’installazione del .NET 3.5 SP1 è stata fatta via Windows Update
tra l’altro prima .NET 3.5 e poi l’SP1 e credo che il problem potrebbe risiedere qui.

Per risolvere da pannello di controllo ho disinstallato nell’ordine:

  • il laguage pack ITA per .NET 3.5 SP1
  • .NET 3.5 SP1
  • il laguage pack ITA .NET 3.0 SP2
  • .NET 3.0 SP2
  • il laguage pack ITA .NET 2.0 SP2
  • .NET 2.0 SP2

Quindi ho installato

In ogni caso già dopo l’installazione del .NET 3.5 il problema non si è riprensentanto.

Una cosa singolare è che i due PC presentavano due file tswpfwrp.exe con stessa versione (3.0.6920.1109), ma di dimensione diversa, differenza che è rimasta anche dopo la reinstallazione e che a quanto pare non influisce sul funzionamento.