Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Scrivere add-in per Windows Live Messenger con Visual Basic 2005: problematiche di protezione

Poco tempo fa, in questo precedente post, abbiamo illustrato come creare ed utilizzare componenti aggiuntivi per Windows Live Messenger tramite codice Visual Basic 2005.

Se avete voglia di leggere i commenti al vecchio post, noterete che qualcuno, nel personalizzare il codice implementando la lettura di un file di testo, ha incontrato un inconveniente: nel momento in cui si cerca di accedere a un file, il componente aggiuntivo non viene caricato o viene sollevata un'eccezione di tipo System.SecurityException.

A questo punto sono andato a documentarmi un po' su internet. Ho scoperto, e devo ammettere che non lo avevo fatto prima, che i componenti aggiuntivi per Windows Live Messenger vengono eseguiti in una sorta di sand-box di sicurezza, secondo il set di permessi "Internet Zone". Ciò significa che gli add-in vengono eseguiti con un set limitatissimo di permessi e, per esempio, non possono accedere ai file o al registro di sistema.

Per ovviare a questo inconveniente, su un paio di blog ho trovato due possibili "workaround":

  1. firmare l'assembly costituente l'add-in con un nome sicuro (strong-name) ed installarlo nella GAC tramite l'utility GacUtil.exe del .NET Framework SDK;
  2. se si ha necessità di leggere/scrivere file, è bene utilizzare l'IsolatedStorage di .NET affinchè si abbia la certezza di avere i permessi necessari per accedere a un'area riservata del disco.

Non ho avuto molto tempo di provare, però ho provato anch'io a implementare la lettura di un file di testo nell'add-in fornita come esempio per il vecchio post. Effettivamente Messenger rifiuta di caricare l'add-in. Così ho installato l'assembly nella GAC ed effettivamente in questo modo Messenger carica l'add-in. Tenete conto che nel sorgente di esempio avevo già inserito lo strong-name, quindi potrete passare subito ad installare l'assembly nella GAC con GacUtil.exe.

Se invece non volete utilizzare questo metodo, provate ad utilizzare l'IsolatedStorage per leggere/scrivere file, anzichè utilizzare le modalità classiche che non sono consentite. Se non sapete cos'è e come si usa l'IsolatedStorage di .NET 2.0, potete leggere questo mio articolo su VB T&T: http://www.visual-basic.it/articoli/adsIsolatedStorage.htm

Se avete riscontrato anche voi problematiche di questo tipo, lasciate un feedback a questo post, piuttosto che al precedente.

Alessandro

Print | posted on sabato 5 maggio 2007 14:44 | Filed Under [ .NET Framework Visual Basic ]

Powered by:
Powered By Subtext Powered By ASP.NET