Quando o controlo Silverlight é colocado numa página web tem que ter sempre a indicação de qual é o caminho para o ficheiro XAP. Este caminho pode ser relativo ou absoluto. Sempre que é construido no template do Visual Studio vai ser colocado no directorio ClientBin, tal como no nosso exemplo:

 <param name="source" value="ClientBin/SLMediaManager.xap"/>

Para podermos utilizar e actualizar o controlo independentemente da actualização da aplicação precisamos de:

1. Criar um container num blob para colocar o XAP

Pegando no azure blob browser que mais gostamos (eu uso o da Cloud Storage Studio da Cerebrata), criamos um container, neste caso vamos criar um com o nome "xap":

2. Garantir que o container é público, isto é, no nosso caso pretendemos que possa ser acedido por qualquer aplicação

Se estivermos a utilizar o SpaceBlock, usamos right-click sobre o container e escolhemos a última opção que permite a edição dos atributos de segurança

3. Upload do XAP

Pare este blob fazemos upload do XAP que se encontra do clientBin do nosso projecto. 

Verificamos que o content-type é "application/x-silverlight-app", portanto não haverá surpresas.

4. Testar o acesso directo ao XAP

Ao introduzir directamente no URL do IE8: http://azureslstorage.blob.core.windows.net/xap/SLMediaManager.xap deveremos ver a mensagem:

Podemos cancelar o download porque acabamos de validar que o xap está colocado e acessível externamente.

5. Testar na nossa aplicação

A página de teste terá que ser alterada, a source terá que apontar para o blob:

 <param name="source" value="http://azureslstorage.blob.core.windows.net/xap/SLMediaManager.xap"/> 

Assim a aplicação estará a funcionar normalmente e sempre que seja necessário actualizar apenas a aplicação silverlight bastará fazer upload do XAP.

Da mesma forma quando quisermos dar o SLMediaViewer a um cliente ele apenas precisa colocar o objecto silverlight nas suas páginas.