<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang=""><title type="html">Un paseo por las nubes</title><subtitle type="html">Un blog acerca de Cloud Computing...</subtitle><id>http://geeks.ms/blogs/davidjrh/atom.aspx</id><link rel="alternate" type="text/html" href="http://geeks.ms/blogs/davidjrh/default.aspx" /><link rel="self" type="application/atom+xml" href="http://geeks.ms/blogs/davidjrh/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.31106.3070">Community Server</generator><updated>2011-09-04T13:31:00Z</updated><entry><title>Limpiar el esquema de una base de datos en SQL Azure tras las instalación fallida de un módulo DNN</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2012/05/05/limpiar-el-esquema-de-una-base-de-datos-en-sql-azure-tras-las-instalaci-243-n-fallida-de-un-m-243-dulo-dnn.aspx" /><id>/blogs/davidjrh/archive/2012/05/05/limpiar-el-esquema-de-una-base-de-datos-en-sql-azure-tras-las-instalaci-243-n-fallida-de-un-m-243-dulo-dnn.aspx</id><published>2012-05-05T15:18:51Z</published><updated>2012-05-05T15:18:51Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/database_2D00_clean_5F00_2.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top:0px;border-right:0px;padding-top:0px;" title="database-clean" border="0" alt="database-clean" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/database_2D00_clean_5F00_thumb.png" width="128" height="128" /&gt;&lt;/a&gt;Una de las tareas comunes a la hora de adaptar un módulo de DotNetNuke para que sea compatible con Windows Azure, es la de &lt;a href="http://www.dotnetnuke.com/Resources/Blogs/EntryId/3110/DotNetNuke-6-0-welcomes-SQL-Azure.aspx"&gt;adaptar los scripts de SQL de instalación para que puedan ejecutarse sobre SQL Azure&lt;/a&gt;. Con esta adaptación probablemente tenemos el módulo adaptado al 100%, ya que el resto del módulo debería funcionar del mismo modo en Windows Azure como en cualquier otro IIS hospedado fuera de la plataforma.&lt;/p&gt;  &lt;p&gt;Al intentar realizar la instalación de un módulo para comprobar si funciona correctamente, probablemente nos encontremos con un problema en algún paso de la creación del esquema en SQL Azure, y en el que si estos scripts no están bien diseñados con sus correspondientes “Rollbacks”, pueden dejarnos objetos “basura” en el esquema de nuestra base de datos. Si intentamos volver a instalar el módulo, resulta que dará más problemas ya que estos objetos ya existen. &lt;/p&gt;  &lt;p&gt;A continuación dejo un script de SQL para eliminar todos los objetos relacionados con un módulo, &lt;strong&gt;&lt;u&gt;si es que éste se ha diseñado siguiendo las buenas prácticas de creación de módulos de DotNetNuke&lt;/u&gt;&lt;/strong&gt; (todos los objetos comienzan por el nombre del módulo “&amp;lt;nombreModulo&amp;gt;_&amp;lt;nombreObjeto”, excepto las vistas que siguen la nomenclatura “vw_&amp;lt;nombreModulo&amp;gt;_nombreVista”.&lt;/p&gt;  &lt;p&gt;En el ejemplo siguiente, el nombre del módulo es “mymodule”, palabra de búsqueda que debe ser reemplazada por el nombre del módulo en cuestión.&lt;/p&gt;    &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @name &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(250)
&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @type &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(10)
&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @searchword &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(250)
&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @command &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(2000)

&lt;span class="kwrd"&gt;SET&lt;/span&gt; @searchword = &lt;span class="str"&gt;&amp;#39;%&lt;font style="background-color:#ffff00;"&gt;mymodule&lt;/font&gt;_%&amp;#39;&lt;/span&gt;

&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; objects_cursor &lt;span class="kwrd"&gt;CURSOR&lt;/span&gt; &lt;span class="kwrd"&gt;FOR&lt;/span&gt;
(
    &lt;span class="kwrd"&gt;SELECT&lt;/span&gt; name, type
    &lt;span class="kwrd"&gt;FROM&lt;/span&gt; sys.objects 
    &lt;span class="kwrd"&gt;WHERE&lt;/span&gt; name &lt;span class="kwrd"&gt;LIKE&lt;/span&gt; @searchword
        &lt;span class="kwrd"&gt;AND&lt;/span&gt; (type &lt;span class="kwrd"&gt;IN&lt;/span&gt; (&lt;span class="str"&gt;&amp;#39;U&amp;#39;&lt;/span&gt;, &lt;span class="str"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, &lt;span class="str"&gt;&amp;#39;FN&amp;#39;&lt;/span&gt;, &lt;span class="str"&gt;&amp;#39;V&amp;#39;&lt;/span&gt;, &lt;span class="str"&gt;&amp;#39;TF&amp;#39;&lt;/span&gt;))
)

&lt;span class="kwrd"&gt;OPEN&lt;/span&gt; objects_cursor

&lt;span class="kwrd"&gt;FETCH&lt;/span&gt; &lt;span class="kwrd"&gt;NEXT&lt;/span&gt; &lt;span class="kwrd"&gt;FROM&lt;/span&gt; objects_cursor
&lt;span class="kwrd"&gt;INTO&lt;/span&gt; @name, @type


&lt;span class="kwrd"&gt;WHILE&lt;/span&gt; &lt;span class="preproc"&gt;@@FETCH_STATUS&lt;/span&gt; = 0
&lt;span class="kwrd"&gt;BEGIN&lt;/span&gt;    
    &lt;span class="kwrd"&gt;SELECT&lt;/span&gt; @command =
        &lt;span class="kwrd"&gt;CASE&lt;/span&gt; @type
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;P&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP PROCEDURE &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;U&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP TABLE &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;FN&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP FUNCTION &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;TF&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP FUNCTION &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;V&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP VIEW &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;ELSE&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;&amp;#39;&lt;/span&gt;        
    &lt;span class="kwrd"&gt;END&lt;/span&gt;
    
    &lt;span class="kwrd"&gt;IF&lt;/span&gt; (@command &amp;lt;&amp;gt; &lt;span class="str"&gt;&amp;#39;&amp;#39;&lt;/span&gt;)
    &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt;
        &lt;span class="kwrd"&gt;PRINT&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;Dropping &amp;#39;&lt;/span&gt; + @name + &lt;span class="str"&gt;&amp;#39;...&amp;#39;&lt;/span&gt;
        &lt;span class="kwrd"&gt;EXEC&lt;/span&gt; (@command)
    &lt;span class="kwrd"&gt;END&lt;/span&gt;
    &lt;span class="kwrd"&gt;ELSE&lt;/span&gt;
    &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt;
        &lt;span class="kwrd"&gt;PRINT&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;WARNING: &amp;#39;&lt;/span&gt; + @name + &lt;span class="str"&gt;&amp;#39; will not be deleted&amp;#39;&lt;/span&gt;
    &lt;span class="kwrd"&gt;END&lt;/span&gt; 
    
    &lt;span class="kwrd"&gt;FETCH&lt;/span&gt; &lt;span class="kwrd"&gt;NEXT&lt;/span&gt; &lt;span class="kwrd"&gt;FROM&lt;/span&gt; objects_cursor
    &lt;span class="kwrd"&gt;INTO&lt;/span&gt; @name, @type    
&lt;span class="kwrd"&gt;END&lt;/span&gt;
&lt;span class="kwrd"&gt;CLOSE&lt;/span&gt; objects_cursor
&lt;span class="kwrd"&gt;DEALLOCATE&lt;/span&gt; objects_cursor&lt;/pre&gt;


&lt;p&gt;Espero que sirva de ayuda. Un saludo.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204876" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /><category term="SQL Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/SQL+Azure/default.aspx" /></entry><entry><title>Nueva versión DotNetNuke Azure Accelerator 6.2 Beta</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2012/04/26/nueva-versi-243-n-dotnetnuke-azure-accelerator-6-2-beta.aspx" /><id>/blogs/davidjrh/archive/2012/04/26/nueva-versi-243-n-dotnetnuke-azure-accelerator-6-2-beta.aspx</id><published>2012-04-26T12:56:00Z</published><updated>2012-04-26T12:56:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukeGear_5F00_2.png"&gt;&lt;img height="153" width="153" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukeGear_5F00_thumb.png" align="right" alt="DotNetNukeGear" border="0" title="DotNetNukeGear" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;margin-left:0px;border-left-width:0px;margin-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;Ayer se lanz&amp;oacute; en CodePlex la nueva versi&amp;oacute;n &lt;a href="http://dotnetnuke.codeplex.com/releases/view/82490"&gt;DotNetNuke CE 6.2 Beta 2&lt;/a&gt; con una buena cantidad de nuevas caracter&amp;iacute;sticas y funcionalidades que permiten nuevas posibilidades como crearte tu propia red social privada as&amp;iacute; como otras capacidades m&amp;oacute;viles como redirecci&amp;oacute;n de website dependiendo del tipo de m&amp;oacute;vil, todo a trav&amp;eacute;s de configuraci&amp;oacute;n. La nueva versi&amp;oacute;n 6.2 contin&amp;uacute;a con el nuevo paradigma de CMS que fue anunciado en la DotNetNuke World Conference 2011: CMS = &amp;ldquo;Cloud&amp;rdquo; + &amp;ldquo;Mobile&amp;rdquo; + &amp;ldquo;Social&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Es un placer anunciar que una nueva versi&amp;oacute;n Beta del &lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/86678"&gt;DotNetNuke Azure Accelerator&lt;/a&gt; est&amp;aacute; disponible en CodePlex, que incluye tanto correcciones como nuevas caracter&amp;iacute;sticas que tratar&amp;eacute; de resumir en este post.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/86678"&gt;&lt;span style="font-size:small;"&gt;Descargar DotNetNuke Azure Accelerator 6.2 Beta&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;DotNetNuke Azure Accelerator 6.2 Beta&lt;/h3&gt;
&lt;p&gt;Lo que puedes esperar en este lanzamiento es una nueva versi&amp;oacute;n del asistente del Accelerator as&amp;iacute; como de los paquetes de servicio, que son capaces de trabajar con tus VHDs y bases de datos SQL Azure actuales a&amp;ntilde;adiendo nuevas funcionalidades en el entorno donde est&amp;aacute;n alojadas y corrigiendo algunos comportamientos. Si bien actualmente esta versi&amp;oacute;n del Accelerator instala la versi&amp;oacute;n DNN 6.2 Beta 2 en unidades VHD vac&amp;iacute;as, esto s&amp;oacute;lo ser&amp;aacute; durante esta fase Beta &amp;ndash;que finalizar&amp;aacute; conjuntamente con el lanzamiento definitivo de DotNetNuke 6.2-. Probablemente la etiqueta &amp;ldquo;6.2&amp;rdquo; se quitar&amp;aacute; del nombre del Accelerator usando otra nomenclatura, ya que una de las nuevas caracter&amp;iacute;sticas del Accelerator es que no depende de una versi&amp;oacute;n espec&amp;iacute;fica de DotNetNuke permitiendo desplegar la &amp;uacute;ltima versi&amp;oacute;n disponible en CodePlex de DNN CE, sin importar cu&amp;aacute;l sea. De manera que espera un cambio de &amp;ldquo;nombre&amp;rdquo; en el Azure Accelerator antes de la versi&amp;oacute;n definitiva. &lt;/p&gt;
&lt;p&gt;La lista de cambios en esta versi&amp;oacute;n es la siguiente:&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;1. Cambios en el asistente del Accelerator&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Aprovisionamiento y despliegue autom&amp;aacute;tico&lt;/span&gt;&lt;/strong&gt;: esta es probablemente una de las nuevas caracter&amp;iacute;sticas que m&amp;aacute;s gustar&amp;aacute;, porque usando la misma t&amp;eacute;cnica que usa el Azure SDK 1.6 para Visual Studio, permite la descarga autom&amp;aacute;tica de un fichero de configuraci&amp;oacute;n de publicaci&amp;oacute;n para administrar remotamente todas tus suscripciones. Despu&amp;eacute;s de descargar estas opciones de forma segura, puedes seleccionar el servicio de hospedaje, la cuenta de almacenamiento y el servidor de bases de datos, todo desde dentro del asistente. Si no has aprovisionado estos recursos desde la consola de administraci&amp;oacute;n de Windows Azure, puedes hacerlo desde el asistente, incluyendo la creaci&amp;oacute;n autom&amp;aacute;tica de las pertinentes reglas en el firewall de SQL Azure. Antes de comenzar el despliegue, se verificar&amp;aacute; el estado de los recursos aprovisionados para comprobar que est&amp;aacute;n disponibles (por ejemplo, verificar y esperar a que la cuenta de almacenamiento est&amp;eacute; disponible). Si el entorno de destino &amp;ndash;producci&amp;oacute;n o ensayo- est&amp;aacute; ocupado por un despliegue previo, aparecer&amp;aacute; un di&amp;aacute;logo de confirmaci&amp;oacute;n para sobrescribir el despliegue actual &amp;ndash;s&amp;oacute;lo se sobrescriben las instancias desplegadas, nunca el VHD o la base de datos. El certificado PFX tambi&amp;eacute;n se sube y configura autom&amp;aacute;ticamente en el servicio de hospedaje de forma transparente para el usuario.&amp;nbsp; &lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Deployment_5F00_2.jpg"&gt;&lt;img height="176" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Deployment_5F00_thumb.jpg" alt="Deployment" border="0" title="Deployment" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Opci&amp;oacute;n para instalaci&amp;oacute;n autom&amp;aacute;tica:&lt;/span&gt;&lt;/strong&gt; una nueva opci&amp;oacute;n ubicada en el paso de selecci&amp;oacute;n de paquete de despliegue, permite seleccionar el modo &amp;ldquo;auto-instalaci&amp;oacute;n&amp;rdquo; como &amp;uacute;ltimo paso de despliegue usando los par&amp;aacute;metros de instalaci&amp;oacute;n por defecto de DotNetNuke. Si seleccionas esta opci&amp;oacute;n, tendr&amp;aacute;s un sitio web completamente funcional que usa la plantilla y credenciales por defecto (usuario &amp;ldquo;host&amp;rdquo;, contrase&amp;ntilde;a &amp;ldquo;dnnhost&amp;rdquo;). Recuerda cambiar estos credenciales tan pronto como sea posible. &lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AutoInstall.jpg"&gt;&lt;img height="56" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AutoInstall_5F00_thumb.jpg" alt="AutoInstall" border="0" title="AutoInstall" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Despliegue en el entorno de ensayo de Azure:&lt;/span&gt;&lt;/strong&gt; como el nuevo paquete de despliegue no requiere &amp;ldquo;host headers&amp;rdquo; para el sitio &amp;ndash;ver cambios en los paquetes de instalaci&amp;oacute;n m&amp;aacute;s adelante- ahora puedes desplegar en el entorno de ensayo de Azure y comenzar a jugar con el bot&amp;oacute;n de Intercambiar VIP desde la consola de administraci&amp;oacute;n de Windows Azure. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Opci&amp;oacute;n para exportar los resultados del asistente a una carpeta local:&lt;/span&gt;&lt;/strong&gt; hay una nueva opci&amp;oacute;n &amp;ndash;que no usa los servicios administrados de Azure- para crear y configurar ficheros de configuraci&amp;oacute;n de servicio y paquetes de instalaci&amp;oacute;n, export&amp;aacute;ndolos a una carpeta para despliegue manual, muy &amp;uacute;til en algunos escenarios. El fichero de certificado PFX tambi&amp;eacute;n en la misma carpeta despu&amp;eacute;s de haberte solicitado una contrase&amp;ntilde;a para el mismo. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;2. Cambios en los paquetes de servicio&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Descarga autom&amp;aacute;tica de DNN CE directamente desde CodePlex:&lt;/span&gt;&lt;/strong&gt; otra caracter&amp;iacute;stica importante en el Accelerator es la descarga autom&amp;aacute;tica del &amp;uacute;ltimo paquete de DNN CE disponible directamente desde CodePlex durante el despliegue del rol en Azure, siempre y cuando la unidad VHD est&amp;eacute; vac&amp;iacute;a. Puedes sobrescribir el par&amp;aacute;metro &amp;ldquo;packageUrl&amp;rdquo; para descargar desde otra ubicaci&amp;oacute;n personalizada, como las anteriores localizaciones en Azure Storage o cualquier otra Url v&amp;aacute;lida BETA: esta Url actualmente apunta a la versi&amp;oacute;n DNN CE 6.2 Beta 2 hasta la versi&amp;oacute;n definitiva 6.2. La descarga se realiza directamente desde CodePlex hacia tu servicio hospedado en Azure. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNNCodePlex.jpg"&gt;&lt;img height="48" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNNCodePlex_5F00_thumb.jpg" alt="DNNCodePlex" border="0" title="DNNCodePlex" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Cambiados enlaces por defecto:&lt;/span&gt;&lt;/strong&gt; El sitio web predeterminado ser&amp;aacute; el sitio DotNetNuke en vez del propio sitio del webrole &amp;ndash;reservado para futuras caracter&amp;iacute;sticas-, lo que significa que ya no es obligatorio especificar encabezados de host habilitando la posibilidad de desplegar en el entorno de ensayo y otras operaciones como Intercambio VIP &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Creaci&amp;oacute;n de la base de datos en el role startup&lt;/span&gt;&lt;/strong&gt;: ahora en el evento de inicializaci&amp;oacute;n del role, se crear&amp;aacute; la base de datos y el usuario en el caso de que &amp;eacute;stos no existan. Esto hace m&amp;aacute;s f&amp;aacute;cil la creaci&amp;oacute;n de nuevos despliegues de DNN sobre Azure simplemente modificando un fichero de configuraci&amp;oacute;n pre-existente sin tener que realizar de nuevo todas estas tareas manualmente o a trav&amp;eacute;s del asistente &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Nueva p&amp;aacute;gina de progreso del despliegue&lt;/span&gt;&lt;/strong&gt;: se ha a&amp;ntilde;adido una nueva p&amp;aacute;gina de informaci&amp;oacute;n del progreso del despliegue al sitio web del webrole, mostrando el estado del despliegue hasta que el sitio de DotNetNuke est&amp;eacute; disponible. Por defecto, la informaci&amp;oacute;n de registro almacenada en Table Storage no se muestra en esta p&amp;aacute;gina, teniendo que habilitar esta opci&amp;oacute;n en el fichero de configuraci&amp;oacute;n para prop&amp;oacute;sitos de depuraci&amp;oacute;n. Tambi&amp;eacute;n puedes acceder a estos detalles conect&amp;aacute;ndote por escritorio remoto a cualquier webrole y navegando a la direcci&amp;oacute;n &lt;a href="http://admin.dnndev.me"&gt;http://admin.dnndev.me&lt;/a&gt;&amp;nbsp; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Descarga m&amp;aacute;s peque&amp;ntilde;a&lt;/span&gt;&lt;/strong&gt;: las paquetes adicionales se han movido a una descarga por separado &amp;ndash;no disponible a&amp;uacute;n en la fase Beta. El asistente viene con el paquete &amp;ldquo;Azure Single and Small&amp;rdquo; de manera que la descarga s&amp;oacute;lo ocupa 4Mb. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;3. Correcciones y mejoras&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Modificada la creaci&amp;oacute;n de la cuenta de usuario local con la que se comparte la unidad VHD para no permitir la caducidad de la misma despu&amp;eacute;s de un mes (&lt;em&gt;necesita revisi&amp;oacute;n, el enfoque debe ser diferente&lt;/em&gt;) &lt;/li&gt;
&lt;li&gt;Modificados los EndPoints de los web roles para permitir tr&amp;aacute;fico en el puerto 443 &lt;/li&gt;
&lt;li&gt;Modificadas las operaciones de compresi&amp;oacute;n usando c&amp;oacute;digo manejado (ICSharpCode.SharpZipLib.dll) &lt;/li&gt;
&lt;li&gt;Uso de &amp;quot;netsh advfirewall firewall&amp;quot; para permitir el tr&amp;aacute;fico en el servidor SMB (ver &lt;a href="http://support.microsoft.com/kb/947709/"&gt;http://support.microsoft.com/kb/947709/&lt;/a&gt;) &lt;/li&gt;
&lt;li&gt;Uso del sistema operativo Windows 2008 R2 &lt;/li&gt;
&lt;li&gt;Agregaci&amp;oacute;n autom&amp;aacute;tica de la entrada &amp;quot;IsWebFarm&amp;quot; en el fichero web.config para habilitar el proveedor de cach&amp;eacute; FileCachingProvider &lt;/li&gt;
&lt;li&gt;Modificada la inicializaci&amp;oacute;n del monitor de diagn&amp;oacute;sticos. Ahora los eventos est&amp;aacute;n siendo correctamente registrados en los web roles. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;/h4&gt;
&lt;h3&gt;Tareas planificadas pendientes&lt;/h3&gt;
&lt;p&gt;Las tareas planificadas pendientes para la versi&amp;oacute;n definitiva son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A&amp;ntilde;adir soporte de Alta Disponibilidad para el SMB worker role &amp;ndash;actualmente realizando pruebas sobre la soluci&amp;oacute;n tomada &lt;/li&gt;
&lt;li&gt;Capturar el evento &amp;ldquo;Changing&amp;rdquo; para detectar cambios de configuraci&amp;oacute;n o topolog&amp;iacute;a y actuar en consecuencia &lt;/li&gt;
&lt;li&gt;Cambiar los procesos de larga duraci&amp;oacute;n en el asistente como tareas en segundo plano para no congelar la interfaz de usuario &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por favor, si detectas alg&amp;uacute;n bug, crea una incidencia en la p&amp;aacute;gina &lt;a href="http://dnnazureaccelerator.codeplex.com/workitem/list/basic"&gt;Issue Tracker disponible en CodePlex&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Enjoy it!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204694" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /><category term="Cloud Computing" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Cloud+Computing/default.aspx" /></entry><entry><title>DotNetNuke Azure Accelerator 6.2 Beta Released</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2012/04/26/dotnetnuke-azure-accelerator-6-2-beta-released.aspx" /><id>/blogs/davidjrh/archive/2012/04/26/dotnetnuke-azure-accelerator-6-2-beta-released.aspx</id><published>2012-04-26T11:50:00Z</published><updated>2012-04-26T11:50:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukeGear_5F00_2.png"&gt;&lt;img height="143" width="143" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukeGear_5F00_thumb.png" align="right" alt="DotNetNukeGear" border="0" title="DotNetNukeGear" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;Yesterday the new &lt;a href="http://dotnetnuke.codeplex.com/releases/view/82490"&gt;DotNetNuke 6.2 Beta 2&lt;/a&gt; was released on CodePlex with a bunch of new features and fixes that allows new possibilities like creating your own and private social network, plus other mobile capabilities like mobile website redirection on CE version. The new 6.2 release continues with the new CMS paradigm that was announced at the DNN World 2011 Conference: CMS = &amp;ldquo;Cloud&amp;rdquo; + &amp;ldquo;Mobile&amp;rdquo; + &amp;ldquo;Social&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m pleased to announce that a new Beta release of the &lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/86678"&gt;DotNetNuke Azure Accelerator&lt;/a&gt; has been released and is also available on CodePlex, that includes both fixes and new great features that I&amp;rsquo;ll try to summarize in this post. &lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/86678"&gt;&lt;span style="font-size:small;"&gt;Download DotNetNuke Azure Accelerator 6.2 Beta&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;New DNN Azure Accelerator 6.2 Beta&lt;/h3&gt;
&lt;p&gt;What you can expect from this release is a new version of the Accelerator wizard and packages, that are capable to use your actual VHDs and SQL Azure databases but adding new features on the Azure hosting environment and fixing some behaviors. If actually the Accelerator will install the 6.2 Beta 2 version on empty VHD drives, this will be only during this Beta phase &amp;ndash;that will end with the final DotNetNuke 6.2 release- and probably the &amp;ldquo;6.2&amp;rdquo; will be removed from the name of the Accelerator using other nomenclature, because a new agnostic feature allows to deploy the latest available DNN CE version on CodePlex, no matter which version. So expect also a &amp;ldquo;name&amp;rdquo; change on the Azure Accelerator before the final release. &lt;/p&gt;
&lt;p&gt;The categorized list of new features is as follows:&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;1. Changes on the Wizard&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Automatic provisioning and deployment&lt;/span&gt;&lt;/strong&gt;: this is probably one of the new features that new users will like a lot, because using the same technique that uses the Azure SDK 1.6 for Visual Studio, allows to automatically download a publish settings file and manage remotely your subscriptions. After getting this publish settings, you can select the hosted service, storage account and SQL Azure database, all from the wizard. If you don&amp;rsquo;t have provisioned them from the Windows Azure Portal, you can do it from the wizard. This includes the automatic creation of the proper SQL Azure firewall rules. Before deploying, the status of the provisioned resources is verified in order to check that all of them are available (i.e. verify and wait for storage account ready status). If the target slot is occupied by a previous deployment, a confirm dialog appears for overwriting the current deployment &amp;ndash;only the VM, not the VHD or database. The PFX certificate is also automatically uploaded and configured on your hosted service without any user interaction.&lt;img height="176" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Deployment_5F00_thumb.jpg" alt="Deployment" border="0" title="Deployment" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Option for automatic installation&lt;/span&gt;&lt;/strong&gt;: a new option located in the package selection step, allows to select auto-installation as the final step of the deployment, using the DotNetNuke default parameters. If you select this you will have a fully functional site running on Windows Azure deployed with the default website template and default credentials (user &amp;ldquo;host&amp;rdquo;, password &amp;ldquo;dnnhost&amp;rdquo;). Remember to change this credentials as soon as possible. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AutoInstall.jpg"&gt;&lt;img height="56" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AutoInstall_5F00_thumb.jpg" alt="AutoInstall" border="0" title="AutoInstall" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Deploying on Azure staging environment:&lt;/span&gt;&lt;/strong&gt; as the new package does not need &amp;ldquo;host headers&amp;rdquo; for the site &amp;ndash;see package new features below- now you can deploy on Staging environment &amp;ndash;and you can start playing with the Swap VIP button on the Windows Azure Management Console. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Option to export the wizard results to local file system:&lt;/span&gt;&lt;/strong&gt; there is an option -that not uses Azure managed services- to create and configure a service configuration file and service package, exporting them to a folder for manual deployment, useful on some scenarios. The PFX file is also exported &amp;ndash;you will be asked for a password- for manual import. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;2. Changes on the packages&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Automatic DNN CE download from CodePlex:&lt;/span&gt;&lt;/strong&gt; another important feature on the Accelerator is the &lt;strong&gt;automatic download of the latest available DNN CE package from CodePlex&lt;/strong&gt; on first Azure role run &amp;ndash;when the package is deployed on Azure and the VHD drive is empty. You can overwrite the &amp;quot;packageUrl&amp;quot; setting to download from any other customized location, like previous Azure Storage container locations or any other. BETA: this Url actually points to the DNN CE 6.2 Beta 2 version until final 6.2 release. The download is done directly from CodePlex to your hosted service on Azure. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNNCodePlex.jpg"&gt;&lt;img height="48" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNNCodePlex_5F00_thumb.jpg" alt="DNNCodePlex" border="0" title="DNNCodePlex" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Changed default binding:&lt;/span&gt;&lt;/strong&gt; The default website will be the DotNetNuke website instead of the webrole website, what means that specifying host headers is no longer mandatory, and enables the possibility of deploying on Staging environment and other operations like Swap VIP &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Database creation on role startup&lt;/span&gt;&lt;/strong&gt;: now on role startup, the database and login user will be created if the database does not exist. This will make easier to create new DNN service deployments by simply changing the service configuration file without having to do that task manually or through the accelerator wizard. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;New deployment progress page&lt;/span&gt;&lt;/strong&gt;: added new deployment progress page on the webrole website, showing the service deployment status until the site is ready. By default, the deployment log stored on Table Storage is not shown on this page, but you can enable it on the service configuration file for debugging purposes. You can access also these details using remote desktop on any webrole and browsing &amp;quot;http://admin.dnndev.me&amp;quot;. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Smaller download&lt;/span&gt;&lt;/strong&gt;: the packages has been moved to a separated download &amp;ndash;not available yet on Beta phase. The wizard comes with the &amp;quot;Azure Single and Small&amp;quot; package so the DNNAzureAccelerator package only weights 4Mb. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;3. Fixes and enhancements&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Modified the local file sharing user account creation on roles to don&amp;#39;t allow account expiration after a month (&lt;em&gt;needs revision, the approach must be different&lt;/em&gt;) &lt;/li&gt;
&lt;li&gt;Modified the web roles endpoints to allow traffic on port 443 &lt;/li&gt;
&lt;li&gt;Changed the package unzip operations to use managed code (ICSharpCode.SharpZipLib.dll) &lt;/li&gt;
&lt;li&gt;Use of &amp;quot;netsh advfirewall firewall&amp;quot; to allow traffic on the SMB server (see &lt;a href="http://support.microsoft.com/kb/947709/"&gt;http://support.microsoft.com/kb/947709/&lt;/a&gt;) &lt;/li&gt;
&lt;li&gt;Use of Windows 2008 R2 OS &lt;/li&gt;
&lt;li&gt;Automatic adition of &amp;quot;IsWebFarm&amp;quot; app setting in the web.config file to enable the FileCachingProvider &lt;/li&gt;
&lt;li&gt;Changed the Azure diagnostic monitor initialization. Now the events are being correctly logged on web roles. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;/h4&gt;
&lt;h3&gt;Pending planned tasks&lt;/h3&gt;
&lt;p&gt;The pending tasks planned for the final release are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add HA support for the SMB worker role, actually doing tests on the solution taken &lt;/li&gt;
&lt;li&gt;Handle the &amp;ldquo;Changing&amp;rdquo; event to detect configuration or topology changes and act in consequence &lt;/li&gt;
&lt;li&gt;Change the long process tasks on the wizard as background workers to not freeze the UI &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please, if you detect any bug on this release, create an issue on the &lt;a href="http://dnnazureaccelerator.codeplex.com/workitem/list/basic"&gt;Issue Tracker page available on CodePlex&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Enjoy it!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204693" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /><category term="Cloud Computing" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Cloud+Computing/default.aspx" /></entry><entry><title>Quitar el atributo de “ReadOnly” en un disco USB externo</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2012/04/21/quitar-el-atributo-de-readonly-en-un-disco-usb-externo.aspx" /><id>/blogs/davidjrh/archive/2012/04/21/quitar-el-atributo-de-readonly-en-un-disco-usb-externo.aspx</id><published>2012-04-21T13:55:09Z</published><updated>2012-04-21T13:55:09Z</updated><content type="html">&lt;p&gt;Durante estos últimos días he estado trasteando para poder montar un VHD para probar la RC de System Center 2012 y así poder ver las características de integración con Windows Azure. La &lt;a href="http://technet.microsoft.com/en-us/library/hh205990.aspx"&gt;lista de requerimientos del software&lt;/a&gt; es tan grande que al final con los 25Gb que asigné para el VHD no me ha dado ni para instalar los mismos. &lt;/p&gt;  &lt;h3&gt;Problema&lt;/h3&gt;  &lt;p&gt;Encima, después de hoy estar ampliando el tamaño del VHD comienzo a tener una serie de problemas, que indicaban que el disco externo USB donde tengo almacenada la imagen estaba protegido para escritura. WTF?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DiscoReadOnly.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="DiscoReadOnly" border="0" alt="DiscoReadOnly" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DiscoReadOnly_5F00_thumb.jpg" width="111" height="106" /&gt;&lt;/a&gt;Al parecer, después de realizar &lt;a href="http://www.google.es/search?q=usb+drive+appears+as+readonly&amp;amp;rls=com.microsoft:es&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;startIndex=&amp;amp;startPage=1#hl=es&amp;amp;rls=com.microsoft:es&amp;amp;sa=X&amp;amp;ei=U7eST7PJIKXV0QWWss3bAQ&amp;amp;ved=0CB4QvwUoAQ&amp;amp;q=usb+drive+appears+as+read+only+windows&amp;amp;spell=1&amp;amp;bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&amp;amp;fp=64ee20612cf435be"&gt;una búsqueda por Internet sobre este problema&lt;/a&gt;, la causa del error es por no usar la utilidad de “Expulsar hardware de forma segura” –ese icono que tienes al lado del reloj del sistema. He de reconocer que en mi vida lo he usado y no había tenido problema alguno, pensé que eso icono lo ponían sólo para hacer perder el tiempo &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Sonrisa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smile_5F00_2.png" /&gt;. Está claro que habrá que empezar a usarlo.&lt;/p&gt;  &lt;p&gt;Después de muchas soluciones propuestas -algunas no imposibles sugiriendo formatear el disco perdiendo todos los datos-, he conseguido dar con una solución que, si bien puede no solucionar el problema a todo el mundo, por lo menos a mí me ha funcionado. Como nota aclaratoria, indicar que el disco no me aparecía como “ReadOnly” si trataba de usarlo en otros equipos, sólo me pasaba con el equipo que trabajo habitualmente.&lt;/p&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;p&gt;La configuración actual sobre que tengo es:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows 7 Ultimate SP1 64bit, con todas las actualizaciones hasta la fecha &lt;/li&gt;    &lt;li&gt;Disco USB externo Iomega 500Gb, con BitLocker activado &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Solución&lt;/h3&gt;  &lt;p&gt;Para solucionarlo he realizado los pasos siguientes:&lt;/p&gt;  &lt;p&gt;1) Añadir/modificar un valor DWORD en la registry:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Inicio &amp;gt; Ejecutar… y escribir “regedit” &lt;/li&gt;      &lt;li&gt;Buscar la entrada HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies (si no existe esta última, crearla) &lt;/li&gt;      &lt;li&gt;Añadir un valor DWORD “WriteProtect” con valor “0” &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DiscoReadOnlyRegistry.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="DiscoReadOnlyRegistry" border="0" alt="DiscoReadOnlyRegistry" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DiscoReadOnlyRegistry_5F00_thumb.jpg" width="450" height="142" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2) Poner offline el disco USB:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Abrir el administrador de discos, accediendo a “Panel de control &amp;gt; Herramientas Administrativas &amp;gt; Computer Management”, y desde esta consola, seleccionar el nodo “Administrador de discos” &lt;/li&gt;    &lt;li&gt;Pulsar con el botón derecho del ratón sobre el disco y seleccionar el menú “Offline”&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DiscoOffline_5F00_2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="DiscoOffline" border="0" alt="DiscoOffline" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DiscoOffline_5F00_thumb.png" width="450" height="377" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;3) Poner online el disco USB:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Volver a pulsar el botón derecho del ratón y pulsar sobre “Online” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Voilá! el disco ya vuelve a estar operativo para operaciones de escritura. Espero que sirva de ayuda a alguno. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204575" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows 7" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+7/default.aspx" /><category term="USB" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/USB/default.aspx" /></entry><entry><title>RedGate Cloud Services: your SQL Azure backups as a service</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2012/02/25/redgate-cloud-services-your-sql-azure-backups-as-a-service.aspx" /><id>/blogs/davidjrh/archive/2012/02/25/redgate-cloud-services-your-sql-azure-backups-as-a-service.aspx</id><published>2012-02-25T16:19:00Z</published><updated>2012-02-25T16:19:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RedGateCloudServices.jpg"&gt;&lt;img height="87" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RedGateCloudServices_5F00_thumb.jpg" align="right" alt="RedGateCloudServices" border="0" title="RedGateCloudServices" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;Today I can finally speak publicly about a new cloud service that has seen the light and I had the pleasure of participating in CTP phase.&lt;/p&gt;
&lt;p&gt;Since SQL Azure is available on the market, one of the main workhorses has been how to implement backups of our databases. Initially the only way I had was to make a copy of the database in another SQL Azure, which meant the cost of having to pay for the additional database. Later began to appear new tools that allowed the export/import the data and schemas through SQL scripts or through the new &amp;ldquo;bacpac&amp;rdquo; format. A good summary of them was made &lt;a target="_blank" href="http://blogs.msdn.com/b/luispanzano/archive/2011/06/27/backup-para-sql-azure.aspx"&gt;on this Luis Panzano&amp;rsquo;s blog entry&lt;/a&gt;, showing the advantages and disadvantages of each of them.&lt;/p&gt;
&lt;p&gt;All these previous solutions is in addition of a &lt;a target="_blank" href="http://cloudservices.red-gate.com/"&gt;new backup solution for SQL Azure&lt;/a&gt;, nothing more and nothing less than from the hand of Redgate, widely recognized worldwide for its database products.&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;What is it?&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;RedGate Cloud Services is a new cloud service for backing up SQL Azure databases in an automated and scheduled way, without having to perform any task that requires complex or depth technical knowledge of the Azure platform.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://cloudservices.red-gate.com/"&gt;The new RedGate&amp;rsquo; service&lt;/a&gt; allows, using the export/import &amp;quot;bacpac&amp;quot; file format, automated backing up through a very simple user interface.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image001_5F00_2.jpg"&gt;&lt;img height="336" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image001_5F00_thumb.jpg" alt="clip_image001" border="0" title="clip_image001" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And while this simple interface simplifies the way we perform the backup, one of the most interesting options is the ability to schedule them. Scheduling options are initially not many, but the feedback from the community is doing to implement all the new scheduling needs required.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image002_5F00_2.jpg"&gt;&lt;img height="356" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image002_5F00_thumb.jpg" alt="clip_image002" border="0" title="clip_image002" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;&lt;br /&gt;Where are backups stored?&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;While from my point of view is that the most recommended option is to store backups in Azure Storage since involves no data transfer costs -remember that the internal data traffic in the same Azure datacenter only is not charged-, there are another two interesting options: backup on Amazon S3 or sent to an FTP server, very interesting options to have automated copies in different storage locations for redundancy, even if we must pay the additional cost of data transfer.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image003_5F00_2.jpg"&gt;&lt;img height="148" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image003_5F00_thumb.jpg" alt="clip_image003" border="0" title="clip_image003" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;&lt;br /&gt;What is ideal for?&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;Although from the Azure control panel we can manually export databases in the &amp;ldquo;bacpac&amp;rdquo; format to Azure Storage -this service is no longer CTP and is fully supported-, the main problem is that current utility on Azure control panel does not allow scheduled backups, so that to perform a daily backup we should visit daily the Azure control panel and run the process manually.&lt;/p&gt;
&lt;p&gt;With this new Redgate&amp;rsquo; service we can schedule different backups for the same or different databases through a simple user interface, which frees us from having to perform the backup tasks manually. Furthermore, we can access the historical backups logs, receive email notifications, etc..&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image004_5F00_2.jpg"&gt;&lt;img height="464" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image004_5F00_thumb.jpg" alt="clip_image004" border="0" title="clip_image004" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image005_5F00_2.jpg"&gt;&lt;img height="92" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image005_5F00_thumb.jpg" alt="clip_image005" border="0" title="clip_image005" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;br /&gt;How much does it cost?&lt;/h3&gt;
&lt;p&gt;Like most services in the cloud its formula is pay per use, and although the current formula adheres to a single offer of &lt;strong&gt;8&amp;euro;/month (31 uses per month)&lt;/strong&gt;, I guess in the coming weeks will be appearing more options for price escalation as recognized by the &lt;a target="_blank" href="https://twitter.com/#!/richard_j_m"&gt;Richard Mitchell&lt;/a&gt; on the home page.&lt;/p&gt;
&lt;p&gt;It should be noted that this price is for the backup service. Does not include storage costs for Azure Storage (storage account isyour own), nor the costs of traffic in the case of using external storage like Amazon or FTP account.&lt;/p&gt;
&lt;p&gt;On the other hand, is also offering a &lt;strong&gt;free trial period&lt;/strong&gt; of 10 days without charge.&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;A few weeks ago, I commented that I upgraded to DotNetNuke 6.1.3 three different sites running on Azure in just 9 minutes, &lt;span style="text-decoration:underline;"&gt;including backups&lt;/span&gt;. Now you know the method used to back up the databases. The part of details of how to do the upgrade of DNN sites on Azure I leave for another post.&lt;/p&gt;
&lt;p&gt;While the current service could offer much more, precisely Redgate people are taking good note of each new required feature. Believe me, I had the pleasure of having applied for a feature and implemented within a reasonable time. Indeed, it seems that the service will offer many more options soon, as being able to deploy and/or eliminate Azure deployments&amp;nbsp; in a scheduled way.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image006_5F00_2.jpg"&gt;&lt;img height="121" width="250" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/clip_5F00_image006_5F00_thumb.jpg" alt="clip_image006" border="0" title="clip_image006" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What I like&lt;/strong&gt;: scheduling and to receive daily email notifications telling me that the SQL Azure backup has been successful. Although it may seem silly, reassures ... a lot. Have I discussed with you my incident when I clicked the &amp;quot;Delete Azure SQL server&amp;quot; instead of &amp;quot;Delete Azure Database&amp;quot;? Well, that&amp;#39;s another story...&lt;/p&gt;
&lt;p&gt;For more information, visit: &lt;br /&gt;&lt;a href="http://cloudservices.red-gate.com/"&gt;http://cloudservices.red-gate.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=203544" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="SQL Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/SQL+Azure/default.aspx" /></entry><entry><title>RedGate Cloud Services: tus copias de seguridad de SQL Azure como SaaS</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2012/02/25/redgate-cloud-services-tus-copias-de-seguridad-de-sql-azure-como-saas.aspx" /><id>/blogs/davidjrh/archive/2012/02/25/redgate-cloud-services-tus-copias-de-seguridad-de-sql-azure-como-saas.aspx</id><published>2012-02-25T14:56:00Z</published><updated>2012-02-25T14:56:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RedGateCloudServices.jpg"&gt;&lt;img height="87" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RedGateCloudServices_5F00_thumb.jpg" align="right" alt="RedGateCloudServices" border="0" title="RedGateCloudServices" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;Hoy por fin puedo hablar p&amp;uacute;blicamente de un nuevo servicio en la nube que ha visto la luz y del que he tenido el placer de haber participado en su fase CTP. &lt;/p&gt;
&lt;p&gt;Desde que SQL Azure est&amp;aacute; disponible en el mercado, uno de los principales caballos de batalla ha sido la forma de implementar las copias de seguridad de nuestras bases de datos. Inicialmente la &amp;uacute;nica forma que hab&amp;iacute;a era la de hacer una copia de la base de datos en otra en SQL Azure, lo que implicaba el coste de tener que pagar por esa base de datos adicional. M&amp;aacute;s adelante comenzaron a salir herramientas que permit&amp;iacute;an la exportaci&amp;oacute;n/importaci&amp;oacute;n de los datos a trav&amp;eacute;s de SQL Scripts o a trav&amp;eacute;s del nuevo formato &amp;ldquo;bacpac&amp;rdquo;. Un buen resumen de ellas lo pod&amp;eacute;is leer en &lt;a target="_blank" href="http://blogs.msdn.com/b/luispanzano/archive/2011/06/27/backup-para-sql-azure.aspx"&gt;esta entrada del blog de Luis Panzano&lt;/a&gt;, donde se muestran las ventajas y desventajas de cada una de las mismas.&lt;/p&gt;
&lt;p&gt;A todas estas soluciones previas viene a a&amp;ntilde;adirse &lt;a target="_blank" href="http://cloudservices.red-gate.com/"&gt;una nueva soluci&amp;oacute;n de copias de seguridad de SQL Azure&lt;/a&gt;, nada m&amp;aacute;s y nada menos que de la mano de RedGate, ampliamente reconocidos a nivel mundial por sus productos para bases de datos.&lt;/p&gt;
&lt;h3&gt;&amp;iquest;Qu&amp;eacute; es?&lt;/h3&gt;
&lt;p&gt;Se trata de un nuevo servicio en la nube para hacer copias de seguridad de SQL Azure de manera automatizada y programable, sin tener que realizar ninguna tarea compleja o que requiera de profundos conocimientos t&amp;eacute;cnicos de la plataforma Azure. &lt;/p&gt;
&lt;p&gt;El &lt;a target="_blank" href="http://cloudservices.red-gate.com/"&gt;nuevo servicio de RedGate&lt;/a&gt; permite, haciendo uso de la exportaci&amp;oacute;n/importaci&amp;oacute;n en formato &amp;ldquo;bacpac&amp;rdquo;, realizar copias de seguridad de forma automatizada a trav&amp;eacute;s de un sencill&amp;iacute;simo interfaz de usuario. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CreateBackup.jpg"&gt;&lt;img height="336" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CreateBackup_5F00_thumb.jpg" alt="CreateBackup" border="0" title="CreateBackup" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Y si bien esta sencilla interfaz nos simplifica la forma de realizar las copias de seguridad, una de las opciones m&amp;aacute;s interesantes es la de poder programarlos. Las opciones de programaci&amp;oacute;n no es que inicialmente sean muchas, pero el feedback de la comunidad est&amp;aacute; haciendo que se implementen todas las nuevas necesidades de programaci&amp;oacute;n requeridas.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CreateBackup2.jpg"&gt;&lt;img height="356" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CreateBackup2_5F00_thumb.jpg" alt="CreateBackup2" border="0" title="CreateBackup2" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;&amp;iquest;D&amp;oacute;nde se almacenan las copias de seguridad?&lt;/h3&gt;
&lt;p&gt;Si bien la opci&amp;oacute;n que veo m&amp;aacute;s recomendable es la de almacenar las copias de seguridad en Azure Storage ya que no implica costes de transferencia de datos, -recordemos que el tr&amp;aacute;fico interno de datos en un mismo datacenter de Azure no se factura-, existen otras dos opciones tambi&amp;eacute;n muy interesantes: copia de seguridad en Amazon S3 o env&amp;iacute;o a un servidor FTP, opciones muy interesantes para tener copias automatizadas en distintos proveedores de almacenamiento, como sistema redundante, aunque se tenga que pagar ese coste adicional de transferencia de datos.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/StoreOptions.jpg"&gt;&lt;img height="148" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/StoreOptions_5F00_thumb.jpg" alt="StoreOptions" border="0" title="StoreOptions" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&amp;iquest;Para qu&amp;eacute; es ideal? &lt;/h3&gt;
&lt;p&gt;Si bien desde el panel de control de Azure ya podemos realizar la exportaci&amp;oacute;n manual de las bases de datos en formato &amp;ldquo;bacpac&amp;rdquo; a Azure Storage -recordemos que este servicio ya no est&amp;aacute; en fase CTP y es totalmente soportado-, el principal problema es que la utilidad actual del panel de control de Azure no permite &lt;span style="text-decoration:underline;"&gt;programar&lt;/span&gt; copias de seguridad, con lo que para realizar una copia de seguridad diaria habr&amp;iacute;a que visitar el panel de gesti&amp;oacute;n diariamente y ejecutar ese proceso manualmente.&lt;/p&gt;
&lt;p&gt;Con este nuevo servicio de RedGate se pueden programar distintas copias de seguridad para la misma o para distintas bases de datos a trav&amp;eacute;s de una sencilla interfaz de usuario, con lo que nos libera de tener que realizar las tareas de copia de seguridad manualmente. Adem&amp;aacute;s, podemos acceder al hist&amp;oacute;rico de copias de seguridad realizadas, recibir notificaciones por correo electr&amp;oacute;nico de las copias de seguridad, etc. &lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/BackupHistory_5F00_2.jpg"&gt;&lt;img height="464" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/BackupHistory_5F00_thumb.jpg" alt="BackupHistory" border="0" title="BackupHistory" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/BackupSuccessEmail_5F00_2.jpg"&gt;&lt;img height="92" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/BackupSuccessEmail_5F00_thumb.jpg" alt="BackupSuccessEmail" border="0" title="BackupSuccessEmail" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;&amp;iquest;Cu&amp;aacute;nto cuesta?&lt;/h3&gt;
&lt;p&gt;Como cualquier servicio en la nube, su f&amp;oacute;rmula es de por pago por uso, y aunque la f&amp;oacute;rmula actual se ci&amp;ntilde;e a una sola oferta de &lt;strong&gt;8&amp;euro;/mes (31 usos por mes), &lt;/strong&gt;supongo que en las pr&amp;oacute;ximas semanas ir&amp;aacute;n apareciendo m&amp;aacute;s opciones de escalado de precios tal y como reconoce el mismo &lt;a target="_blank" href="https://twitter.com/#!/richard_j_m"&gt;Richard Mitchell&lt;/a&gt; en la p&amp;aacute;gina de inicio.&lt;/p&gt;
&lt;p&gt;Hay que aclarar que este precio es por el servicio de copias de seguridad. No est&amp;aacute;n incluidos los gastos de almacenamiento en Azure Storage (la cuenta de almacenamiento es una tuya propia), ni los costes de tr&amp;aacute;fico en el caso de usar almacenamiento externo como Amazon o una cuenta FTP.&lt;/p&gt;
&lt;p&gt;Por otra parte, tambi&amp;eacute;n se est&amp;aacute; ofertando un &lt;strong&gt;periodo de prueba gratuito&lt;/strong&gt; de 10 d&amp;iacute;as sin coste alguno. &lt;/p&gt;
&lt;h3&gt;Conclusi&amp;oacute;n&lt;/h3&gt;
&lt;p&gt;Hace unas semanas, coment&amp;eacute; que hab&amp;iacute;a podido actualizar a la versi&amp;oacute;n de DotNetNuke 6.1.3 tres sitios distintos en Azure en tan s&amp;oacute;lo 9 minutos, &lt;span style="text-decoration:underline;"&gt;copias de seguridad incluidas&lt;/span&gt;. Ahora ya conoc&amp;eacute;is el m&amp;eacute;todo utilizado para las copias de seguridad de base de datos. La parte del detalle de c&amp;oacute;mo hacer el upgrade de los sitios DNN en Azure lo dejo para otro post. &lt;/p&gt;
&lt;p&gt;Si bien al servicio actual se le podr&amp;iacute;an pedir muchas m&amp;aacute;s cosas, precisamente la gente de RedGate est&amp;aacute; tomando muy buena nota de ellas. Cr&amp;eacute;anme, he tenido el placer de haber solicitado una caracter&amp;iacute;stica e implementarse en un plazo razonable. Sin duda, parece que el servicio ofrecer&amp;aacute; muchas m&amp;aacute;s opciones en breve. De hecho, ya hay algunas interesantes en marcha como la de poder desplegar y/o eliminar despliegues en Azure de forma planificada.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzureTools.jpg"&gt;&lt;img height="116" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzureTools_5F00_thumb.jpg" alt="AzureTools" border="0" title="AzureTools" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lo que m&amp;aacute;s me gusta&lt;/strong&gt;: recibir notificaciones por correo electr&amp;oacute;nico diariamente indic&amp;aacute;ndome que las copias de seguridad de la base de datos de SQL Azure se han realizado con &amp;eacute;xito. Aunque parezca una tonter&amp;iacute;a, tranquiliza&amp;hellip;y mucho. &amp;iquest;A alguno no le he comentado mi incidente cuando le di al bot&amp;oacute;n &amp;ldquo;Eliminar servidor SQL Azure&amp;rdquo; en vez de &amp;ldquo;Eliminar base de datos&amp;rdquo;? Bueno, eso ya es otra historia&amp;hellip;&lt;/p&gt;
&lt;p&gt;Para m&amp;aacute;s informaci&amp;oacute;n, visita: &lt;br /&gt;&lt;a href="http://cloudservices.red-gate.com/"&gt;http://cloudservices.red-gate.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=203543" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="SQL Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/SQL+Azure/default.aspx" /></entry><entry><title>Certificate error when deploying DotNetNuke on Windows Azure</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2012/02/09/certificate-error-when-deploying-dotnetnuke-on-windows-azure.aspx" /><id>/blogs/davidjrh/archive/2012/02/09/certificate-error-when-deploying-dotnetnuke-on-windows-azure.aspx</id><published>2012-02-09T17:30:52Z</published><updated>2012-02-09T17:30:52Z</updated><content type="html">&lt;p&gt;After a busy January I’m back again to write some pending entries that I have promised to some people. There are lots of things to tell after the DNN-Cloud session in the DNN Europe Task Force Meeting 2012, things like: how to upgrade a DNN version on Windows Azure, how to do backup and restore operations, how to move an instance from on premise to Azure and vice versa, etc. so let start one by one.&lt;/p&gt;  &lt;p&gt;To begin, let’s see how to solve a typical error when deploying DNN on Windows Azure, since at least 4 people have asked to me how to fix it in the past two weeks. The error message appears when you deploy the package on a service, and means that the certificate specified in the service configuration file is not configured on the Windows Azure service:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateError1_5F00_thumb1_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top:0px;border-right:0px;padding-top:0px;" title="CertificateError1_thumb1" border="0" alt="CertificateError1_thumb1" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateError1_5F00_thumb1_5F00_thumb.jpg" width="240" height="221" /&gt;&lt;/a&gt;“The certificate with thumbprint ‘XXXXXXXXXX’ is missing for hosted service ‘YYYY’. Please install the certificate for this hosted service.”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This is because you didn’t upload correctly the certificate, which is used to encrypt communications while using RDP or Windows Azure connect (Virtual Network).&lt;/p&gt;  &lt;p&gt;NOTE: in future versions of DNN Azure Accelerator this problem will be fixed using another method for uploading the package, using the Windows Azure publishing settings. Meanwhile, you have to upload manually the certificate to Azure as specified below.&lt;/p&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;h3&gt;What certificate?&lt;/h3&gt;  &lt;p&gt;The error refers to the certificate used in the DNN Azure Accelerator to configure RDP. In fact, there is a text indicating that you have to upload this certificate to the hosted service on Azure, but actually there is not much help on how to do this, because although currently the Accelerator automatically generates the certificate in a “.cer” file in the wizard folder, it must be imported into Windows Azure as a “.pfx” file.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RDPStep_5F00_thumb2_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="RDPStep_thumb2" border="0" alt="RDPStep_thumb2" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RDPStep_5F00_thumb2_5F00_thumb.jpg" width="450" height="328" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;How to export the certificate in PFX format?&lt;/h3&gt;  &lt;p&gt;To export the certificate in PFX format &lt;strong&gt;from the DNN Azure Accelerator wizard RDP step&lt;/strong&gt;, follow these steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Click “View…” to see the certificate that has generated the wizard     &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateDetail1_5F00_thumb1_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="CertificateDetail1_thumb1" border="0" alt="CertificateDetail1_thumb1" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateDetail1_5F00_thumb1_5F00_thumb.jpg" width="192" height="240" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Go to the tab “Details”. In the certificate properties, we can see the “Thumbprint” of this certificate, which is precisely the one referred by the error and stored in the service configuration file.      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateThumbprint_5F00_thumb1_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="CertificateThumbprint_thumb1" border="0" alt="CertificateThumbprint_thumb1" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateThumbprint_5F00_thumb1_5F00_thumb.jpg" width="193" height="240" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Click the “Copy to File…” to open the export wizard indicating that you want to export the private key. This is mandatory to export in PFX format.      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ExportPrivateKey_5F00_thumb1_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="ExportPrivateKey_thumb1" border="0" alt="ExportPrivateKey_thumb1" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ExportPrivateKey_5F00_thumb1_5F00_thumb.jpg" width="240" height="218" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;In the next step, select the format “PFX” and activate the check boxes for “Include all certificates in the certification path if possible” and “Export all extended properties”. Uncheck the box “Delete the private key if export is successful”, as means to delete it from your local computer certificates storage instead of the exported file.      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ExportaAsPFX_5F00_thumb1_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="ExportaAsPFX_thumb1" border="0" alt="ExportaAsPFX_thumb1" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ExportaAsPFX_5F00_thumb1_5F00_thumb.jpg" width="240" height="218" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;In the following steps specify a password to be used while importing into Azure and finally a filename for the certificate.      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SpecifyAPassword_5F00_thumb2_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SpecifyAPassword_thumb2" border="0" alt="SpecifyAPassword_thumb2" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SpecifyAPassword_5F00_thumb2_5F00_thumb.jpg" width="220" height="199" /&gt;&lt;/a&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SpecifyAFilename_5F00_thumb2_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SpecifyAFilename_thumb2" border="0" alt="SpecifyAFilename_thumb2" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SpecifyAFilename_5F00_thumb2_5F00_thumb.jpg" width="220" height="200" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;With this we have exported the PFX file. &lt;/p&gt;  &lt;h3&gt;How to import the certificate on Azure?&lt;/h3&gt;  &lt;p&gt;This step is very well documented in numerous websites and in Windows Azure’s help, but here again to not have to open another page and for printing purposes –remember to save the trees!:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Open the &lt;a href="http://windows.azure.com/"&gt;Windows Azure Administration console&lt;/a&gt; and access the hosted service settings, selecting the service certificates folder you want to configure.       &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AddCertificate_5F00_thumb2_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="AddCertificate_thumb2" border="0" alt="AddCertificate_thumb2" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AddCertificate_5F00_thumb2_5F00_thumb.jpg" width="400" height="230" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Press the “Add Certificate…” button to upload the “PFX” file that we have exported typing the password used before.      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/UploadCertificate_5F00_thumb1_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="UploadCertificate_thumb1" border="0" alt="UploadCertificate_thumb1" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/UploadCertificate_5F00_thumb1_5F00_thumb.jpg" width="240" height="106" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Once that is done, we can see that the certificate was successfully uploaded and that in the certificate details the “Thumbprint” is also there.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateUploaded_5F00_thumb2_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="CertificateUploaded_thumb2" border="0" alt="CertificateUploaded_thumb2" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateUploaded_5F00_thumb2_5F00_thumb.jpg" width="450" height="195" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;I closed the Accelerator and now I do not know how to re-export the certificate&lt;/h3&gt;  &lt;p&gt;It may happen, or at least that’s what happened to those who asked me about this problem, you forget to export the certificate in PFX format when using the DNN Azure Accelerator. Is there another way to export if I closed the assistant and/or deleted the “.cer” file that was created in the wizard folder?&lt;/p&gt;  &lt;p&gt;There are several methods to accomplish that, but for simplifying the shortest is:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;In a command line console, type “certmgr.exe” to open the certificates management console in the folder “Personal\Certificates” &lt;/li&gt;    &lt;li&gt;If you remember the “FriendlyName” that you used in the DNN Azure Accelerator, select it. &lt;strong&gt;If not or not be sure of which certificate you used on the wizard,&lt;/strong&gt; you will have to open one by one and select the one with the property “Thumbprint” which matches the error message –the property is on the Details tab page.       &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Certificates_5F00_thumb2_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Certificates_thumb2" border="0" alt="Certificates_thumb2" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Certificates_5F00_thumb2_5F00_thumb.jpg" width="400" height="187" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Right-click on “All tasks&amp;gt;Export…” to start the export process mentioned in the previous section &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;With this, once we have exported and loaded the certificate in the same way as indicated in the previous steps, we can deploy our service without problems.&lt;/p&gt;  &lt;p&gt;Hope this helps. More tomorrow!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=203268" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /></entry><entry><title>Error de certificado al desplegar DotNetNuke en Windows Azure</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2012/02/09/error-de-certificado-al-desplegar-dotnetnuke-en-windows-azure.aspx" /><id>/blogs/davidjrh/archive/2012/02/09/error-de-certificado-al-desplegar-dotnetnuke-en-windows-azure.aspx</id><published>2012-02-09T16:52:05Z</published><updated>2012-02-09T16:52:05Z</updated><content type="html">&lt;p&gt;Después de un mes de enero muy ajetreado ya estoy de vuelta a escribir algunas entradas pendientes que tengo para el blog. Hay mucho que contar después de la sesión de DNN-Cloud en el DNN Europe Task Force Meeting 2012 y que tengo posts pendientes de publicación: cómo hacer upgrades de las instancias en Azure, cómo hacer backups, cómo mover una instancia onpremise a Azure y viceversa, etc. así que empezamos poco a poco. &lt;/p&gt;  &lt;p&gt;Para empezar, vamos a ver cómo solucionar un error típico al desplegar DNN sobre Windows Azure, ya que al menos 4 personas me han preguntado cómo solucionarlo. Se trata del mensaje de error que aparece al desplegar el paquete sobre un servicio indicando que no se encuentra el certificado indicado en el archivo de configuración del servicio imposibilitando la ejecución del despliegue:&lt;/p&gt;  &lt;p align="center"&gt;&lt;em&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateError1.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="CertificateError1" border="0" alt="CertificateError1" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateError1_5F00_thumb.jpg" width="240" height="221" /&gt;&lt;/a&gt;“The certificate with thumbprint ‘XXXXXXXXXX’ is missing for hosted service ‘YYYY’. Please install the certificate for this hosted service.”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Esto es debido a que no ha subido correctamente el certificado al servicio que vamos a desplegar, que es usado para encriptar las comunicaciones RDP así como posibilitar la configuración de Windows Azure Connect con las instancias. &lt;/p&gt;  &lt;p&gt;NOTA: en próximas versiones del DNN Azure Accelerator se solucionará este problema ya que el método de publicación será distinto usando el fichero de configuración proporcionado automáticamente por Windows Azure.&lt;/p&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;h3&gt;¿A qué certificado se refiere?&lt;/h3&gt;  &lt;p&gt;El error se refiere al certificado que se usó en el DNN Azure Accelerator para configurar el paso de RDP. De hecho, hay un texto indicando que te asegures de subir este certificado al servicio, pero lo cierto es que no hay mucha ayuda sobre cómo realizar este proceso, ya que si bien actualmente el Accelerator genera automáticamente el certificado en un fichero “.cer” en la carpeta, éste debe ser importado en Windows Azure en formato “.pfx”. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RDPStep.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="RDPStep" border="0" alt="RDPStep" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RDPStep_5F00_thumb.jpg" width="450" height="328" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;¿Cómo exportamos el certificado en formato PFX?&lt;/h3&gt;  &lt;p&gt;Para exportar el certificado en formato PFX desde el mismo asistente, seguiremos los pasos siguientes:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Pulsar el botón “View…” para ver el certificado que ha generado el asistente      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateDetail1.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="CertificateDetail1" border="0" alt="CertificateDetail1" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateDetail1_5F00_thumb.jpg" width="192" height="240" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Vamos a la pestaña “Details”. En las propiedades del certificado podemos ver la huella (“Thumbprint”) de este certificado, que es precisamente a la que se refiere el error y que se almacena en el fichero de configuración del servicio. &lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateThumbprint.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="CertificateThumbprint" border="0" alt="CertificateThumbprint" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateThumbprint_5F00_thumb.jpg" width="193" height="240" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Pulsa el botón “Copy to File…” para abrir el asistente de exportación indicando que quieres exportar la clave privada –esto es obligatorio para poder exportar en formato PFX.      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ExportPrivateKey.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="ExportPrivateKey" border="0" alt="ExportPrivateKey" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ExportPrivateKey_5F00_thumb.jpg" width="240" height="218" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;En el paso siguiente, selecciona el tipo de certficado “PFX” y activa las casillas correspondientes a: “Incluir todos los certificados en la ruta de certificación si es posible” y “Exportar todas las propiedades extendidas”. No marques la casilla “Eliminar la clave privada si la exportación tiene éxito”, ya que se refiere a eliminarla de tu equipo local en vez del fichero exportado, con lo que no podrás repetir este proceso a menos que vuelvas a importar el certificado exportado.      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ExportaAsPFX.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="ExportaAsPFX" border="0" alt="ExportaAsPFX" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ExportaAsPFX_5F00_thumb.jpg" width="240" height="218" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;En los pasos siguientes especificamos una contraseña que usaremos para la importación en otros equipos así como en Azure, y finalmente un nombre de archivo para el certificado.      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SpecifyAPassword.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="SpecifyAPassword" border="0" alt="SpecifyAPassword" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SpecifyAPassword_5F00_thumb.jpg" width="220" height="199" /&gt;&lt;/a&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SpecifyAFilename.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="SpecifyAFilename" border="0" alt="SpecifyAFilename" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SpecifyAFilename_5F00_thumb.jpg" width="220" height="200" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Con esto hemos exportado el fichero PFX. &lt;/p&gt;  &lt;h3&gt;¿Cómo importamos el certificado en Azure?&lt;/h3&gt;  &lt;p&gt;Este paso está muy bien documentado en infinidad de sitios web así como en la ayuda de Windows Azure, pero para que el lector no tenga que estar abriendo más páginas –y yo pueda imprimir este procedimiento cuando me haga falta- se resume en:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Abrir la &lt;a href="http://windows.azure.com/"&gt;consola de administración de Windows Azure&lt;/a&gt; y acceder a la configuración de los servicios hospedados, &lt;u&gt;seleccionando la carpeta de certificados del servicio que queremos configurar&lt;/u&gt;.       &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AddCertificate.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="AddCertificate" border="0" alt="AddCertificate" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AddCertificate_5F00_thumb.jpg" width="400" height="230" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Pulsamos el botón “Add Certificate…” para subir el fichero “.pfx” que hemos exportado especificando la contraseña      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/UploadCertificate.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="UploadCertificate" border="0" alt="UploadCertificate" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/UploadCertificate_5F00_thumb.jpg" width="240" height="106" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Una vez realizada esta operación, podemos ver que el certificado se ha subido con éxito y que en los detalles del certificado se muestra la huella (“Thumbprint”) del mismo.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateUploaded.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="CertificateUploaded" border="0" alt="CertificateUploaded" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CertificateUploaded_5F00_thumb.jpg" width="450" height="195" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Cerré el Accelerator y ahora no sé cómo volver a exportar el certificado&lt;/h3&gt;  &lt;p&gt;Puede ocurrir –o al menos eso fue lo que le pasó a los que me preguntaron por este problema- que te olvides de exportar el certificado en formato PFX. ¿Hay alguna otra forma de exportarlo si ya cerré el asistente y/o eliminé el archivo “.cer” que se crea en la misma carpeta del Accelerator?&lt;/p&gt;  &lt;p&gt;La respuesta es que hay varios métodos, pero para simplificar expongo la siguiente:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;En una línea de comandos, ejecutar “certmgr.exe” para abrir la consola de administración de certificados en la carpeta “Personal\Certificates” &lt;/li&gt;    &lt;li&gt;Si nos acordamos del “FriendlyName” que pusimos al crear el certificado con el DNN Azure Accelerator, lo seleccionamos. &lt;strong&gt;En caso de no acordarnos o no estar muy seguros de qué certificado usamos en el Accelerator,&lt;/strong&gt; tendremos que ir abriendo uno por uno y seleccionar el que tenga en la pestaña “Details”, propiedad “Thumbprint” el que coincida con el del error en cuestión.       &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Certificates.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Certificates" border="0" alt="Certificates" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Certificates_5F00_thumb.jpg" width="400" height="187" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Pulsamos con el botón derecho del ratón seleccionamos “Todas las tareas&amp;gt;Exportar…” para iniciar el mismo proceso de exportación comentado en el apartado anterior &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Con esto, una vez que hemos exportado y cargado el certificado del mismo modo que se ha indicado en los pasos anteriores, podremos desplegar nuestro servicio sin problemas.&lt;/p&gt;  &lt;p&gt;Espero que sirva de ayuda. ¡Mañana más!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=203267" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /></entry><entry><title>Adiós 2011. Bienvenido 2012</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/12/31/adi-243-s-2011-bienvenido-2012.aspx" /><id>/blogs/davidjrh/archive/2011/12/31/adi-243-s-2011-bienvenido-2012.aspx</id><published>2011-12-31T17:15:23Z</published><updated>2011-12-31T17:15:23Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/principio_5F00_accion_5F00_reaccion_5F00_2.gif"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="principio_accion_reaccion" border="0" alt="principio_accion_reaccion" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/principio_5F00_accion_5F00_reaccion_5F00_thumb.gif" width="240" height="111" /&gt;&lt;/a&gt;Vaya, vaya. No sé ni cómo pero ya ha pasado un año desde que escribí &lt;a href="http://davidjrh.intelequia.com/2010/12/adios-2010bienvenido-2011.html" target="_blank"&gt;una entrada similar a esta para despedir el 2010&lt;/a&gt;. Después de releer la entrada me parece casi mentira que todo lo que me ha pasado en este 2011 haya sido comprimido en un sólo año. Parece que el lema de “pasar a la acción” haya sido uno de los mejores objetivos que me he puesto en mi vida, porque efectivamente, toda acción tiene repercusión, y vaya que si la tiene.&lt;/p&gt;  &lt;h3&gt;2011 ha sido un año…lleno de acción&lt;/h3&gt;  &lt;p&gt;Ha sido un año duro, de muchas horas –quizás me quede corto- de trabajo, de noches, fines de semana, festivos…pero hay un refrán que dice que “&lt;a href="http://erasmusv.wordpress.com/2007/06/27/sarna-con-gusto-no-pica/" target="_blank"&gt;sarna con gusto no pica&lt;/a&gt;”. Nada mejor que hacer lo que más te gusta para que las horas se te pasen volando. Será porque de pequeño en vez de astronauta quería ser arquitecto de software. Vale, ahí me he colado, este concepto no existía aún, pero algo así le expliqué a mi madre cuando bajaba la palanca de la luz para que me desenganchara del MSX. Jugaba&amp;#160; con él, y también hacía con los amigos una base de datos de &lt;a href="mailto:novi@s"&gt;novi@s&lt;/a&gt; en BASIC &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Sonrisa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smile_5F00_2.png" /&gt;&lt;/p&gt;  &lt;p&gt;Después de un año 2010 en el que había perdido la ilusión, después de toda esta acción ha venido esa famosa repercusión, y la mayoría en forma de buenas noticias y recompensas. No sólo he recuperado esa ilusión perdida, sino que me ha servido para darme cuenta de que &lt;u&gt;nunca es tarde para ser lo que realmente quieres ser&lt;/u&gt;.&lt;/p&gt;  &lt;p align="left"&gt;&lt;em&gt;“Si te sirve de algo, nunca es demasiado tarde para ser quien quieres ser. No hay límite en el tiempo. Empieza cuando quieras. Puedes cambiar o no hacerlo. No hay normas al respecto. De todo podemos sacar una lectura positiva o negativa. Espero que tú saques la positiva. Espero que veas cosas que te sorprendan. Espero que sientas cosas que nunca hayas sentido. Espero que conozcas a personas con otro punto de vista. Espero que vivas una vida de la que te sientas orgulloso. Y si ves que no es así, espero que tengas la fortaleza para empezar de nuevo.”&lt;/em&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;a title="The Curious Case of Benjamin Button" href="http://es.wikipedia.org/wiki/El_curioso_caso_de_Benjamin_Button"&gt;The Curious Case of Benjamin Button&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d2aefded-fea4-4213-8fa0-47a8ca57d271" class="wlWriterEditableSmartContent"&gt;&lt;div id="96dfb9e3-ad40-47de-b1e0-53fa91030cbb" style="margin:0px;padding:0px;display:inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=6yZwOdaiOd0&amp;amp;feature=player_embedded" target="_new"&gt;&lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/video3f57c7f715ab.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em;"&gt;The Curious Case of Benjamin Button&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;Gracias a los amigos, a los de siempre y a los nuevos, que ponen la salsa para un viaje inolvidable. Gracias a la familia, por no poder dedicarles todo el tiempo que quisiera y aún así seguir estando a mi lado con el mismo amor. Gracias de nuevo a todos por estar ahí, por compartir este año, por formar parte de mi vida.&lt;/p&gt;  &lt;p&gt;Y de nuevo, gracias en especial a Carmen, mi esposa, mi amor y mi compañera, por andar este nuevo camino juntos, ya que sin ti, no podría haberse hecho realidad.&lt;/p&gt;  &lt;p&gt;Para acabar y despedir este año 2011, abajo os dejo otro vídeo muy especial, lleno de emoción, realizado en uno de los sitios más bonitos de la Tierra: Tenerife, mi tierra. Os deseo un feliz y PRÓSPERO año 2012 a &lt;a href="mailto:tod@s"&gt;tod@s&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Un abrazo y hasta mañana.&lt;/p&gt;  &lt;p&gt;David Rodríguez&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:095b0f4f-6ac7-4b3b-8908-1fffa705bfd0" class="wlWriterEditableSmartContent"&gt;&lt;div id="d9b35315-4912-4231-b859-be76d6428218" style="margin:0px;padding:0px;display:inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=Rk6_hdRtJOE" target="_new"&gt;&lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/video5f10a4371349.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em;"&gt;The Mountain - http://www.facebook.com/TSOPhotography&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202524" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Feliz2012" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Feliz2012/default.aspx" /></entry><entry><title>[Tip] Un huevo de pascua llamado “dnndev.me”</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/12/28/tip-un-huevo-de-pascua-llamado-dnndev-me.aspx" /><id>/blogs/davidjrh/archive/2011/12/28/tip-un-huevo-de-pascua-llamado-dnndev-me.aspx</id><published>2011-12-28T12:41:00Z</published><updated>2011-12-28T12:41:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/dnndev.me_5F00_2.jpg"&gt;&lt;img height="162" width="174" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/dnndev.me_5F00_thumb.jpg" align="right" alt="dnndev.me" border="0" title="dnndev.me" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;Hoy toca compartir una utilidad muy interesante de esas que se encuentran en la red y que nos facilitan la vida a los desarrolladores que trabajamos con entornos web. &lt;/p&gt;
&lt;h3&gt;&amp;iquest;Conoc&amp;iacute;as el dominio &amp;ldquo;dnndev.me&amp;rdquo;?&lt;/h3&gt;
&lt;p&gt;El dominio dnndev.me es un dominio registrado en Internet por nuestro amigo &lt;a target="_blank" href="http://dnngallery.com/blog/id/263/local-virtual-hosts-with-dnndevme"&gt;Ian Robinson&lt;/a&gt; que apunta a la direcci&amp;oacute;n de loopback 127.0.0.1. Y no s&amp;oacute;lo este dominio, sino que cualquier subdominio *.dnndev.me tambi&amp;eacute;n lo hace.&lt;/p&gt;
&lt;p&gt;Para hacer una prueba, abre una consola de comandos y haz un ping a &amp;ldquo;&amp;lt;loquetedelagana&amp;gt;.dnndev.me&amp;rdquo; y comprobar&amp;aacute;s que siempre responde tu direcci&amp;oacute;n local.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/pingDnnDevme_5F00_2.jpg"&gt;&lt;img height="171" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/pingDnnDevme_5F00_thumb.jpg" alt="pingDnnDevme" border="0" title="pingDnnDevme" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&amp;iquest;Y para qu&amp;eacute; sirve esto?&lt;/h3&gt;
&lt;p&gt;Pues para personas que como yo, que trabajamos en desarrollo con m&amp;aacute;s de 30 sitios web en el IIS, cada uno con un binding distinto, con diferentes versiones, etc. editar el fichero de hosts (c:\windows\system32\drivers\etc\hosts) se vuelve una tarea muy tediosa.&lt;/p&gt;
&lt;p&gt;De esta manera, puedes configurar en tu IIS un binding en el sitio web, por ejemplo, &lt;a href="http://miproyecto.dnndev.me"&gt;http://miproyecto.dnndev.me&lt;/a&gt; en vez de usar &lt;a href="http://localhost/miproyecto"&gt;http://localhost/miproyecto&lt;/a&gt; o editar el fichero de hosts para introducir &lt;a href="http://miproyecto.dev"&gt;http://miproyecto.dev&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Binding_5F00_2.jpg"&gt;&lt;img height="159" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Binding_5F00_thumb.jpg" alt="Binding" border="0" title="Binding" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Gracias a Ian Robinson (&lt;a target="_blank" href="http://dnngallery.com/blog/id/263/local-virtual-hosts-with-dnndevme"&gt;ver post original&lt;/a&gt;) y a &lt;a target="_blank" href="http://www.theaccidentalgeek.com/post/2011/03/11/DotNetNuke-Tips-and-Tricks-24-Local-Virtual-Hosts.aspx"&gt;Joe Brinkman&lt;/a&gt; por su aportaci&amp;oacute;n en esta simple y genial idea.&lt;/p&gt;
&lt;p&gt;P.D. &lt;strong&gt;no&lt;/strong&gt; es una inocentada!&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202351" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Web" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Web/default.aspx" /><category term="Tips and Tricks" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Tips+and+Tricks/default.aspx" /></entry><entry><title>[WebCast] DotNetNuke 6–Framework para reducir costes</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/12/13/webcast-dotnetnuke-6-framework-para-reducir-costes.aspx" /><id>/blogs/davidjrh/archive/2011/12/13/webcast-dotnetnuke-6-framework-para-reducir-costes.aspx</id><published>2011-12-13T12:27:48Z</published><updated>2011-12-13T12:27:48Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/MSEvent.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="MSEvent" border="0" alt="MSEvent" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/MSEvent_5F00_thumb.jpg" width="240" height="36" /&gt;&lt;/a&gt;Nada más y nada menos que de la mano de &lt;a href="http://twitter.com/#!/Toni_Coll" target="_blank"&gt;Toni Coll&lt;/a&gt;, autor y editor del único &lt;a href="http://www.2psystems.com/Recursos/LibroAprendeDotNetNuke.aspx" target="_blank"&gt;libro en español sobre desarrollo sobre la plataforma DotNetNuke&lt;/a&gt;, este miércoles 14 de diembre a partir de las 09:30 (GMT+1) vamos a tener el placer de poder conocer a fondo las posibilidades de DotNetNuke y entrando en detalle en la administración del CMS (atención para administradores de DNN!!).&lt;/p&gt;  &lt;p&gt;El evento aparte de ser presencial, también se retransmitirá en directo en formato webcast, disponible para su registro en la web de eventos de Microsoft. &lt;strong&gt;&lt;u&gt;El registro es completamente gratuito&lt;/u&gt;&lt;/strong&gt;. No dejes pasar esta ocasión. &lt;/p&gt;  &lt;p&gt;Os dejo más detalles del evento y el enlace para el registro. Un saludo y happy codding!&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032499853&amp;amp;Culture=es-ES" target="_blank"&gt;&lt;font size="5"&gt;Registro en línea&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DOTNETNUKE 6 - FRAMEWORK PARA REDUCIR COSTES&lt;/strong&gt;     &lt;br /&gt;&lt;u&gt;&lt;strong&gt;Descripción:        &lt;br /&gt;&lt;/strong&gt;&lt;/u&gt;DotNetNuke es el proyecto Open Source desarrollado con la tecnología Microsoft .NET líder a nivel mundial. Este CMS permite la creación de potentes aplicaciones web, con miles de extensiones disponibles en su Market Snowcovered. &lt;/p&gt;  &lt;p&gt;Agenda: &lt;/p&gt;  &lt;p&gt;9:30 – 9:40 Bienvenida y presentación    &lt;br /&gt;9:40 – 11:00 Introducción y administración del CMS     &lt;br /&gt;11:00 – 11:15 Descanso     &lt;br /&gt;11:15 – 12:50 Ediciones comerciales y desarrollo     &lt;br /&gt;12:50 – 13:00 Preguntas y Despedida &lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Ponente:        &lt;br /&gt;&lt;/strong&gt;&lt;/u&gt;    &lt;br /&gt;&lt;strong&gt;Toni Coll&lt;/strong&gt; -Autor y editor del único libro en español, cofundador de la única Comunidad en España, propietario y CEO de 2P Systems (DotNetNuke Affiliate Certified Partner). &lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Perfil de los participantes:&lt;/strong&gt;&lt;/u&gt;     &lt;br /&gt;Directores de empresas TIC, responsables TIC de empresas turísticas, profesionales del sector TIC.     &lt;br /&gt;Estudiantes de los últimos cursos de la carrera de Informática. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202132" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /><category term="Eventos" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Eventos/default.aspx" /></entry><entry><title>Windows Azure Camps en Tenerife</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/11/30/windows-azure-camps-en-tenerife.aspx" /><id>/blogs/davidjrh/archive/2011/11/30/windows-azure-camps-en-tenerife.aspx</id><published>2011-11-30T10:24:00Z</published><updated>2011-11-30T10:24:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;
&lt;table width="475" cellpadding="5" cellspacing="2" border="1" style="background-color:yellow;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="469" valign="top"&gt;
&lt;p&gt;&lt;strong&gt;NOTICIA IMPORTANTE DE ULTIMA HORA:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Buenas noticias. Por &lt;a target="_blank" href="http://www.abc.es/20111130/economia/abcp-pilotos-iberia-convocaran-huelga-20111130.html"&gt;motivos ajenos a la organizaci&amp;oacute;n&lt;/a&gt;, el evento pasa de ser presencial a formato WebCast, con lo que podr&amp;aacute;s seguirlo a trav&amp;eacute;s de Internet. Repito, NO acud&amp;aacute;is f&amp;iacute;sicamente al evento. Todos aquellos que me dijeron que al ser presencial no pod&amp;iacute;an darse la escapada, ya no tienen excusa &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smile_5F00_2.png" alt="Sonrisa" class="wlEmoticon wlEmoticon-smile" style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" /&gt;&lt;/p&gt;
&lt;p&gt;En este enlace ten&amp;eacute;is el NUEVO enlace de registro al WebCast. &lt;/p&gt;
&lt;p align="center"&gt;&lt;a target="_blank" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032500847&amp;amp;Culture=es-ES"&gt;&lt;span style="font-size:medium;"&gt;Registro al WebCast en directo&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Siguiendo con la &lt;a target="_blank" href="http://www.tenerifedev.com/MaterialesEventos/Nov2011WPRoadshow.aspx"&gt;ola de eventos de desarrollo&lt;/a&gt; en nuestra isla, esta vez tenemos la gran ocasi&amp;oacute;n de poder contar con &lt;a target="_blank" href="http://geeks.ms/blogs/dsalgado/"&gt;David Salgado&lt;/a&gt; en un d&amp;iacute;a dedicado al desarrollo sobre la plataforma Windows Azure.&lt;/p&gt;
&lt;h3&gt;&amp;iquest;Y en qu&amp;eacute; consiste la jornada? &lt;/h3&gt;
&lt;p&gt;En que nos vamos de acampada. &amp;iquest;Qu&amp;eacute;? Bueno, m&amp;aacute;s o menos &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smile_5F00_2.png" alt="Sonrisa" class="wlEmoticon wlEmoticon-smile" style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" /&gt; La acampada es en el &lt;a target="_blank" href="http://www.hoteles-silken.com/hotel-atlantida-santa-cruz-tenerife/"&gt;hotel Silken&lt;/a&gt; (el hotel Atl&amp;aacute;ntida en la avenida 3 de Mayo, en Santa Cruz de Tenerife). La idea es que Mr. Salgado haga una introducci&amp;oacute;n a Windows Azure, para luego comenzar con &lt;a target="_blank" href="http://blogs.msdn.com/b/esmsdn/archive/2011/11/16/laboratorios-de-windows-azure-en-diciembre.aspx"&gt;laboratorios de desarrollo totalmente pr&amp;aacute;cticos&lt;/a&gt;, enfang&amp;aacute;ndonos de barro cantando alrededor del fuego. &lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032500082&amp;amp;Culture=es-ES"&gt;&lt;img height="259" width="475" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzureCamps_5F00_3.jpg" alt="AzureCamps" border="0" title="AzureCamps" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Se repartir&amp;aacute;n cuentas evaluaci&amp;oacute;n de Windows Azure a los asistentes para que puedas comenzar a hacer tus pinitos en desarrollo en la nube. &lt;/p&gt;
&lt;h3&gt;&amp;iquest;Qu&amp;eacute; tengo que llevar?&lt;/h3&gt;
&lt;p&gt;Pues como es totalmente pr&amp;aacute;ctico, tendr&amp;eacute;is que traer vuestro propio port&amp;aacute;til con algunas cosas instaladas. Habr&amp;aacute; alg&amp;uacute;n USB con los requisitos por si alguien se le olvida, pero intentar venir preparado, porque si no, te vas a perder la mitad del laboratorio con las instalaciones.&lt;/p&gt;
&lt;p&gt;Requisitos:&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;Para los laboratorios m&amp;aacute;s gen&amp;eacute;ricos&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Windows Vista SP2, Server 2008 SP2, Server 2008 R2 o Windows 7&lt;/p&gt;
&lt;p&gt;IIS con ASP.NET habilitado:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=186916"&gt;.NET Framework 4.0&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions"&gt;Visual Studio 2010&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=WindowsAzureToolsVS2010?"&gt;SDK de Windows Azure&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/es-es/details.aspx?FamilyID=58ce885d-508b-45c8-9fd3-118edd8e6fff"&gt;SQL Server 2008 Express&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/es-es/details.aspx?FamilyID=08E52AC2-1D62-45F6-9A4A-4B76A8564A2B"&gt;SQL Server Management Studio&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para los laboratorios de federaci&amp;oacute;n:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/974405"&gt;Runtime de Windows Identity&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c148b2df-c7af-46bb-9162-2c9422208504"&gt;SDK de Windows Identity&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y si est&amp;aacute;s interesado en el de PHP:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://azurephp.interoperabilitybridges.com/downloads/windows-azure-tools-for-eclipse"&gt;Eclipse con herramientas de Azure&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&amp;iquest;Cu&amp;aacute;ndo es?&lt;/h3&gt;
&lt;p&gt;&lt;span style="background-color:#ffff00;"&gt;&amp;iexcl;Ma&amp;ntilde;ana!&lt;/span&gt; La fecha es el 1 de diciembre de 2011. &amp;iquest;A qu&amp;eacute; est&amp;aacute;s esperando?&lt;/p&gt;
&lt;p align="center"&gt;&lt;a target="_blank" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032500082&amp;amp;Culture=es-ES"&gt;&lt;span style="font-size:large;"&gt;Reg&amp;iacute;strate aqu&amp;iacute;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201935" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="Eventos" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Eventos/default.aspx" /></entry><entry><title>[Evento] Windows Phone Roadshow en Tenerife</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/11/17/evento-windows-phone-roadshow-en-tenerife.aspx" /><id>/blogs/davidjrh/archive/2011/11/17/evento-windows-phone-roadshow-en-tenerife.aspx</id><published>2011-11-17T18:33:00Z</published><updated>2011-11-17T18:33:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WPRoadShow_5F00_2.jpg"&gt;&lt;img height="82" width="282" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WPRoadShow_5F00_thumb.jpg" align="right" alt="WPRoadShow" border="0" title="WPRoadShow" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;margin-left:0px;border-left-width:0px;margin-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;iexcl;S&amp;iacute;! &amp;iexcl;El Windows Phone Roadshow en Tenerife! &amp;iquest;No te hab&amp;iacute;as enterado? Seguro que s&amp;iacute;, pero por si a&amp;uacute;n queda alg&amp;uacute;n rezagado ah&amp;iacute; va la buena noticia. &lt;/p&gt;
&lt;p&gt;El pr&amp;oacute;ximo s&amp;aacute;bado 26 de noviembre en el sal&amp;oacute;n de actos de la Facultad de F&amp;iacute;sica (Universidad de La Laguna), el Tour del a&amp;ntilde;o pasa por nuestra isla, el Windows Phone Roadshow. Gracias a &lt;a target="_blank" href="http://www.tenerifedev.com"&gt;TenerifeDev&lt;/a&gt;, la &lt;a target="_blank" href="http://www.ull.es/"&gt;ULL&lt;/a&gt;, &lt;a target="_blank" href="http://www.microsoft.com/es-es/default.aspx"&gt;Microsoft&lt;/a&gt;, &lt;a target="_blank" href="http://www.intelequia.com/"&gt;Intelequia&lt;/a&gt;, &lt;a target="_blank" href="http://www.sdmprogramas.es/"&gt;SDM Programas&lt;/a&gt; y &lt;a target="_blank" href="http://www.plainconcepts.com/"&gt;Plain Concepts&lt;/a&gt; se mostrar&amp;aacute;n las capacidades de Windows Phone 7.5 Mango y c&amp;oacute;mo explotarlas desarrollando aplicaciones y juegos. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Si eres desarrollador o est&amp;aacute;s estudiando para serlo&lt;/strong&gt;, te interesar&amp;aacute; conocer el mundo de las plataformas m&amp;oacute;viles Microsoft de la mano de &lt;a target="_blank" href="http://geeks.ms/blogs/jyeray/"&gt;Josu&amp;eacute; Yeray&lt;/a&gt;, &lt;a target="_blank" href="http://geeks.ms/blogs/rserna/"&gt;Rafael Serna&lt;/a&gt; y &lt;a target="_blank" href="http://geeks.ms/blogs/adiazmartin/"&gt;Alberto D&amp;iacute;az&lt;/a&gt;, expertos en desarrollo con esta nueva plataforma. No te lo puedes perder. Si a&amp;uacute;n no te has enterado, gran parte del futuro del desarrollo de aplicaciones se encuentra en las plataformas m&amp;oacute;viles.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Habr&amp;aacute;n muchas sorpresas, regalos y&amp;hellip;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;alg&amp;uacute;n tel&amp;eacute;fono para los m&amp;aacute;s atentos&lt;/span&gt;&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;El registro es totalmente gratuito&lt;/strong&gt;, as&amp;iacute; que no te puedes perder esta pedazo de ocasi&amp;oacute;n. No olvides circular esta informaci&amp;oacute;n a quien pudiera interesarle.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a target="_blank" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032499102&amp;amp;Culture=es-ES"&gt;&lt;span style="font-size:large;"&gt;Reg&amp;iacute;strate aqu&amp;iacute;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;&lt;strong&gt;Agenda del evento:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;09:00-09:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Registro      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;09:30-10:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Por qu&amp;eacute; Windows Phone?      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;10:30-12:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Plataforma de desarrollo de aplicaciones y Juegos      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;12:00-12:15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Descanso      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;12.15-13:15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Datos, Servicios y &amp;quot;Live Tiles&amp;quot; (Ventanas Vivas)      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;13:15-14:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capacidades avanzadas de Windows Phone      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;14:00-15:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Descanso      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;15.00-16:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Multitarea en Windows Phone      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;16:00-16:15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Descanso      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;16:15-17:15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Desarrollo paso a paso y publicaci&amp;oacute;n de &amp;quot;Zombsquare&amp;quot;      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;17:15-17:45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&amp;oacute;mo comercializar tus aplicaciones y juegos en el Marketplace      &lt;br /&gt;&lt;/i&gt;&lt;i&gt;17:45-18:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Recursos, Ayudas e Iniciativas&lt;/i&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WP_5F00_2.jpg"&gt;&lt;img height="54" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WP_5F00_thumb.jpg" alt="WP" border="0" title="WP" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Intelequia_5F00_2.jpg"&gt;&lt;img height="129" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Intelequia_5F00_thumb.jpg" alt="Intelequia" border="0" title="Intelequia" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201737" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Eventos" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Eventos/default.aspx" /><category term="TenerifeDev" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/TenerifeDev/default.aspx" /><category term="Windows Phone" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Phone/default.aspx" /></entry><entry><title>DNNWorld, DNN Azure Accelerator 6.1 y Windows Azure</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/11/04/dnnworld-dnn-azure-accelerator-6-1-y-windows-azure.aspx" /><id>/blogs/davidjrh/archive/2011/11/04/dnnworld-dnn-azure-accelerator-6-1-y-windows-azure.aspx</id><published>2011-11-04T18:13:00Z</published><updated>2011-11-04T18:13:00Z</updated><content type="html">&lt;p&gt;&lt;a title="DotNetNuke World Conference 2011" href="http://dotnetnukeworld.dotnetnuke.com/" target="_blank"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="DNNworld11logo_long_RGB" border="0" alt="DNNworld11logo_long_RGB" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNNworld11logo_5F00_long_5F00_RGB_5F00_3.png" width="240" height="58" /&gt;&lt;/a&gt;La semana que viene comienza en Orlando la &lt;a href="http://dotnetnukeworld.dotnetnuke.com/" target="_blank"&gt;DotNetNuke World Conference 2011&lt;/a&gt;, la reunión anual donde se congregan los mayores expertos alrededor del CMS donde estaré personalmente.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetnuke.com/Intro/Webinars/DNN-World-Keynote-Webcast-Registration.aspx" target="_blank"&gt;&lt;img style="margin:0px 14px 0px 0px;display:inline;float:left;" title="DNN_StdAnimeAd_World11_1" alt="DNN_StdAnimeAd_World11_1" align="left" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNN_5F00_StdAnimeAd_5F00_World11_5F00_1_5F00_3.gif" width="180" height="100" /&gt;&lt;/a&gt;Este año el número total de de &lt;a href="http://dotnetnukeworld.dotnetnuke.com/Sessions.aspx" target="_blank"&gt;sesiones&lt;/a&gt; de la conferencia asciende a 34, bastante para dos días y para ponerlo difícil a los que nos parecen interesantes todas ellas. Los que no podáis asistir podéis registraros &lt;a href="http://www.dotnetnuke.com/Intro/Webinars/DNN-World-Keynote-Webcast-Registration.aspx" target="_blank"&gt;para ver el KeyNote en directo de Shaun Walker&lt;/a&gt; a través de este enlace.&lt;/p&gt;  &lt;p align="left"&gt;Respecto a las sesiones sobre la nube y DotNetNuke, nos encontramos con estas tres sesiones específicas en la que me podréis encontrar por si tenéis alguna cuestión que resolver:&lt;/p&gt;  &lt;p&gt;1) &lt;a href="http://dotnetnukeworld.dotnetnuke.com/Speakers/bios/aid/19.aspx" target="_blank"&gt;Leveraging Azure Cloud Services&lt;/a&gt;.- sesión para desarrolladores por Philipp Becker, en el que se verá como ejemplo cómo usar las colas de Azure para en procesamiento asíncrono de correos electrónicos del portal.&lt;/p&gt;  &lt;p&gt;2) &lt;a href="http://dotnetnukeworld.dotnetnuke.com/Speakers/bios/aid/8.aspx" target="_blank"&gt;DotNetNuke on Azure Cloud Servers&lt;/a&gt;.- sesión de interés general (desarrolladores, administradores, etc.) donde se verá en detalle cómo desplegar instancias de DotNetNuke sobre Windows Azure usando el DNN Azure Accelerator. Bruce Chapman será el encargado de impartir la sesión en la que he estado involucrado personalmente, preparada con la última versión del Accelerator. &lt;/p&gt;  &lt;p&gt;3) &lt;a href="http://dotnetnukeworld.dotnetnuke.com/Speakers/bios/aid/14.aspx" target="_blank"&gt;File System Abstraction and Folder Providers in DotNetNuke 6.0&lt;/a&gt;.- sesión dedicada a desarrolladores donde se mostrará cómo extender el sistema de ficheros de DNN con almacenamiento en la nube, como puede ser Azure Storage. Un ejemplo de esto último es el &lt;a href="http://www.intelequia.com/es-es/productos/dnnfolderproviders.aspx" target="_blank"&gt;Intelequia DNNFolderProviders&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;La agenda completa de la conferencia la podéis encontrar en &lt;a href="http://dotnetnukeworld.dotnetnuke.com/Schedule.aspx" target="_blank"&gt;este enlace&lt;/a&gt;, para que podáis decidir qué track os gusta más. Si vais a estar por allí, enviadme un twitt a &lt;a href="http://twitter.com/davidjrh" target="_blank"&gt;@davidjrh&lt;/a&gt; y quedamos.&lt;/p&gt;  &lt;p&gt;Pero esta no es la única novedad de este post.&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Connect_5F00_2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Connect" border="0" alt="Connect" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Connect_5F00_thumb.png" width="173" height="105" /&gt;&lt;/a&gt;DotNetNuke Azure Accelerator 6.1&lt;/h3&gt;  &lt;p&gt;Esta semana, aprovechando la publicación de la &lt;a href="http://dotnetnuke.codeplex.com/" target="_blank"&gt;versión 6.1 de DotNetNuke&lt;/a&gt;, he publicado en CodePlex una nueva versión del &lt;a href="http://dnnazureaccelerator.codeplex.com/" target="_blank"&gt;Azure Accelerator&lt;/a&gt; que reune una serie de nuevas funcionalidades para facilitar el despliegue sobre Azure, en concreto sobre habilitar RDP y Azure Connect sin tener que descargar el código fuente de la solución sino desde dentro del mismo asistente (para más información sobre esto, podéis echar un vistazo a mis dos últimos posts sobre &lt;a href="http://davidjrh.intelequia.com/2011/10/modificar-las-credenciales-rdp-en-los.html" target="_blank"&gt;cómo modificar las credenciales de RDP sin Visual Studio&lt;/a&gt; y &lt;a href="http://davidjrh.intelequia.com/2011/10/conectar-una-azure-cloud-drive.html" target="_blank"&gt;cómo conectar una Azure Cloud Drive a tu equipo&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;La lista de nuevas características de esta versión son:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Incluye la distribución OFICIAL de DotNetNuke 6.1 (nótese que a partir de ahora los módulos que no forman parte del core ya no se incluyen en la descarga y que se instalan a través del mismo portal con el catálogo de extensiones en línea) &lt;/li&gt;    &lt;li&gt;Añadido nuevo paso en el asistente para configurar el acceso RDP (Escritorio Remoto) a todos los roles sin la necesidad de usar Visual Studio 2010 &lt;/li&gt;    &lt;li&gt;Los certificados X509 para el acceso RDP se pueden generar a través del mismo asistente &lt;/li&gt;    &lt;li&gt;Moificada la validación de los controles de la interfaz de usuario con un Error Provider (no más ventanas emergentes) &lt;/li&gt;    &lt;li&gt;Añadida validación de contraseñas con la misma política que Azure en el asistente, para que no de problemas al acceder a la base de datos &lt;/li&gt;    &lt;li&gt;Añadidas validaciones para los nombres de los containers de Storage a través de expresiones regulares &lt;/li&gt;    &lt;li&gt;Añadidas cajas de texto para indicar el nombre y tamaño del VHD inicial con el que se desplegará el gestor de contenidos &lt;/li&gt;    &lt;li&gt;Añadidos paquetes de servicios pre-compilados para despliegues con RDP habilitado o sin él &lt;/li&gt;    &lt;li&gt;Añadido un nuevo paquete “Single and Small”, donde todas las instancias son de tamaño Small, todos son webroles y el servidor SMB es la instancia 0 &lt;/li&gt;    &lt;li&gt;Todos los paquetes han sido compilados usando el SDK 1.5 de Azure, con lo que se pueden usar todas las características que incluye &lt;/li&gt;    &lt;li&gt;Añadido nuevo paso en el asistente para configurar la Red Virtual (Azure Connect) y permitir así la creación de redes virtuales entre Azure (tus instances de DNN en la nube) y otras máquinas on-premise como tu mismo PC, con lo que puedes acceder a ellas a través del entorno de red de Windows &lt;/li&gt;    &lt;li&gt;Una vez desplegado el servicio, seguirás usando el asistente de instalación oficial de DNN para crear y configurar tu instancia durante la primera ejecución desde tu navegador &lt;/li&gt;    &lt;li&gt;Recuerda que puedes crear tus propios paquetes personalizados de servicios y ponerlos dentro de la carpeta “/packages” del Accelerator para usarlos con el asistente &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Os dejo con algunas capturas de los nuevos pasos del asistente y el enlace a la descarga de la nueva versión. &lt;/p&gt;  &lt;p&gt;Nos vemos en Orlando.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://dnnazureaccelerator.codeplex.com"&gt;&lt;font size="4"&gt;http://dnnazureaccelerator.codeplex.com&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Step4_5F00_RemoteDesktop_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Step4_RemoteDesktop" border="0" alt="Step4_RemoteDesktop" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Step4_5F00_RemoteDesktop_5F00_thumb.jpg" width="240" height="176" /&gt;&lt;/a&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Step5_5F00_VirtualNetwork_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Step5_VirtualNetwork" border="0" alt="Step5_VirtualNetwork" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Step5_5F00_VirtualNetwork_5F00_thumb.jpg" width="240" height="176" /&gt;&lt;/a&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Step6_5F00_PackageSelection_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Step6_PackageSelection" border="0" alt="Step6_PackageSelection" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Step6_5F00_PackageSelection_5F00_thumb.jpg" width="240" height="176" /&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201531" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /><category term="Eventos" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Eventos/default.aspx" /></entry><entry><title>Evento Desarrollando WebApps en la nube: Materiales</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/10/16/evento-desarrollando-webapps-en-la-nube-materiales.aspx" /><id>/blogs/davidjrh/archive/2011/10/16/evento-desarrollando-webapps-en-la-nube-materiales.aspx</id><published>2011-10-16T12:30:00Z</published><updated>2011-10-16T12:30:00Z</updated><content type="html">&lt;p&gt;
A continuaci&amp;oacute;n os dejo los materiales del evento de TenerifeDev &amp;ldquo;Desarrollando WebApps en la nube&amp;rdquo;. Felicidades a todos los que se llevaron obsequio de nuestros patrocinadores PluralSight y Telerik.&lt;/p&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h3&gt;
Im&amp;aacute;genes del evento&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:66721397-FF69-4ca6-AEC4-17E6B3208830:b3c42fb3-57eb-4861-b07b-339450d171a7" class="wlWriterEditableSmartContent"&gt;
&lt;table border="0" cellspacing="0" cellpadding="0" style="outline:none;border-style:none;margin:0px;padding:0px;width:410px;border-collapse:collapse;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="margin:0px;padding:0px;outline:none;border-style:none;width:auto;"&gt;&lt;a style="outline:none;border-style:none;margin:0px;padding:0px;" target="_blank" href="https://skydrive.live.com/redir.aspx?cid=c2398672056875bc&amp;amp;page=play&amp;amp;resid=C2398672056875BC!3143&amp;amp;type=5&amp;amp;authkey=nd2oro!0YsU%24&amp;amp;Bsrc=Photomail&amp;amp;Bpub=SDX.Photos"&gt;&lt;img style="outline:none;border-style:none;padding:0px;margin:0px;border:0px;background:none;background-image:none;vertical-align:bottom;" alt="Ver &amp;aacute;lbum" title="Ver &amp;aacute;lbum" src="http://lh6.ggpht.com/-_SkMmTTa398/TprMWbY-BDI/AAAAAAAAAhU/4hiMQjWJzPI/TenerifeDev%252520-%252520Desarrollando%252520WebApps%252520en%252520la%252520nube%25255B6%25255D.jpg?imgmax=800" /&gt;&lt;/a&gt;
&lt;div style="width:410px;text-align:center;overflow:visible;padding:0px;margin:0px;"&gt;
&lt;div style="width:410px;overflow:visible;"&gt;
&lt;a style="text-decoration:none;" href="https://skydrive.live.com/redir.aspx?cid=c2398672056875bc&amp;amp;page=browse&amp;amp;resid=C2398672056875BC!3143&amp;amp;type=5&amp;amp;authkey=nd2oro!0YsU%24&amp;amp;Bsrc=Photomail&amp;amp;Bpub=SDX.Photos" target="_blank"&gt;&lt;span style="line-height:1.26em;padding:0px;width:410px;font-size:26pt;font-family:&amp;#39;Segoe UI&amp;#39;, helvetica, arial, sans-serif;"&gt;TenerifeDev - Desarrollando WebApps en la nube&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align:center;padding:9px 0px 0px 0px;margin:0px 0px 0px 0px;font-family:&amp;#39;Segoe UI&amp;#39;, helvetica, arial, sans-serif;font-size:8pt;"&gt;
&lt;table border="0" cellspacing="0" cellpadding="0" style="text-align:center;width:auto;margin-left:auto;margin-right:auto;padding:0px;outline:none;border-style:none;border-collapse:collapse;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;outline:none;border-style:none;margin:0px;padding:6px 12px 6px 0px;"&gt;&lt;a href="https://skydrive.live.com/redir.aspx?cid=c2398672056875bc&amp;amp;page=play&amp;amp;resid=C2398672056875BC!3143&amp;amp;type=5&amp;amp;authkey=nd2oro!0YsU%24&amp;amp;Bsrc=Photomail&amp;amp;Bpub=SDX.Photos" target="_blank" style="font-family:&amp;#39;Segoe UI&amp;#39;, helvetica, arial, sans-serif;font-size:8pt;outline:none;border-style:none;text-decoration:none;padding:0px;margin:0px;"&gt;VER PRESENTACI&amp;Oacute;N&lt;/a&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;outline:none;border-style:none;margin:0px;padding:6px 0px 6px 0px;"&gt;&lt;a href="https://skydrive.live.com/redir.aspx?cid=c2398672056875bc&amp;amp;page=downloadphotos&amp;amp;resid=C2398672056875BC!3143&amp;amp;type=5&amp;amp;Bsrc=Photomail&amp;amp;Bpub=SDX.Photos&amp;amp;authkey=nd2oro!0YsU%24" target="_blank" style="font-family:&amp;#39;Segoe UI&amp;#39;, helvetica, arial, sans-serif;font-size:8pt;outline:none;border-style:none;text-decoration:none;padding:0px;margin:0px;"&gt;DESCARGAR TODO&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;
V&amp;iacute;deo completo de la sesi&amp;oacute;n&lt;/h3&gt;
&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:e6247be4-64e1-44a3-8d6a-2f1d4f33181a" class="wlWriterEditableSmartContent"&gt;
&lt;div id="7c15254a-ec10-430e-8cda-6db050d8d3c6" style="margin:0px;padding:0px;display:inline;"&gt;
&lt;div&gt;
&lt;object height="252" width="448"&gt;
&lt;param value="http://www.youtube.com/v/adhXYW2lK7A?hl=en&amp;amp;hd=1" name="movie" /&gt;&lt;embed height="252" width="448" type="application/x-shockwave-flash" src="http://www.youtube.com/v/adhXYW2lK7A?hl=en&amp;amp;hd=1"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;
Slides&lt;/h3&gt;
&lt;div style="width:550px;" id="__ss_9680757"&gt;
&lt;strong&gt;&lt;a href="http://www.slideshare.net/intelequiass/tenerifedev-desarrollando-webapps-en-la-nube" title="TenerifeDev - Desarrollando WebApps en la nube" target="_blank"&gt;TenerifeDev - Desarrollando WebApps en la nube&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/9680757" width="550" height="460" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201208" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /><category term="Cloud Computing" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Cloud+Computing/default.aspx" /><category term="Eventos" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Eventos/default.aspx" /></entry><entry><title>Conectar una Azure Cloud Drive directamente a tu equipo</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/10/14/conectar-una-azure-cloud-drive-directamente-a-tu-equipo.aspx" /><id>/blogs/davidjrh/archive/2011/10/14/conectar-una-azure-cloud-drive-directamente-a-tu-equipo.aspx</id><published>2011-10-13T23:25:42Z</published><updated>2011-10-13T23:25:42Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Connect_5F00_2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Connect" border="0" alt="Connect" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Connect_5F00_thumb.png" width="240" height="146" /&gt;&lt;/a&gt;Llevo un rato dándole vueltas a la cabeza a ver qué título le ponía a esta entrada en el blog, porque el amplio abanico de posibilidades que se me están ocurriendo es muy grande. Podría simplemente haberlo titulado “Editando los contenidos de un VHD en Azure desde tu escritorio”, pero es que también “Haciendo un backup en Azure Storage con Drag and Drop” también es válido. Por supuesto, “Cómo actualizar el contenido de tu sitio DNN en Azure desde tu explorador de Windows” es de dónde ha nacido la idea.&lt;/p&gt;  &lt;p&gt;Y es que desde mi última entrada sobre &lt;a href="http://davidjrh.intelequia.com/2011/09/modificar-el-contenido-de-un-vhd-en.html"&gt;cómo editar los contenidos de un VHD en Azure&lt;/a&gt; y pensando que aún así debería haber un método más fácil para actualizar los contenidos de un VHD, empecé a barajar la idea de usar el actual servidor SMB del DNN Azure Accelerator mezclado con Windows Azure Connect. &lt;/p&gt;  &lt;h3&gt;¿Qué es Windows Azure Connect? &lt;/h3&gt;  &lt;p&gt;Hace tiempo que ya &lt;a href="http://davidjrh.intelequia.com/2010/12/windows-azure-connect-por-que-porque.html"&gt;escribí una entrada sobre este servicio de Windows Azure&lt;/a&gt; –aún en CTP y gratuito de momento- pero por simplificar, resumámoslo en que es un componente para poder crear redes virtuales entre “tu mundo” y Windows Azure. Con ello consigues, por ejemplo, ver las máquinas que están en la nube como si estuvieran en tu red local: les puedes hacer un ping, puedes ver el equipo a través de la red si tiene habilitada su regla en el firewall...¿cómo? ¿qué puedes ver los equipos en Windows Azure por la red y ver sus ficheros? &lt;/p&gt;  &lt;p&gt;Y ahí está el &lt;em&gt;quid&lt;/em&gt; de la cuestión. Si ya en el mismo DNN Azure Accelerator los web roles acceden por la red para publicar los contenidos del worker role SMB, ¿por qué no podría conectarme desde mi equipo a esa misma unidad compartida para modificar los contenidos a través de una red virtual creada por Windows Azure Connect?&lt;/p&gt;  &lt;p&gt;La respuesta es: ¡Y por qué no! Sí, por supuesto que se puede. Y esta entrada trata de explicar los pasos para configurarlo de forma manual.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Mapped_2D00_drive_2D00_on_2D00_Azure_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="Mapped-drive-on-Azure" border="0" alt="Mapped-drive-on-Azure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Mapped_2D00_drive_2D00_on_2D00_Azure_5F00_thumb.jpg" width="450" height="292" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;h3&gt;¿Qué necesito?&lt;/h3&gt;  &lt;p&gt;Para poder conectar tu equipo a una unidad VHD en Azure, necesitarás lo siguiente:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Una suscripción activa a Azure sobre la que vas a desplegar tanto los servicios de computación (servidor de ficheros) como el almacenamiento. Puedes crearte una en &lt;a href="http://www.windowsazure.com"&gt;http://www.windowsazure.com&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Un servidor worker role que monte la unidad VHD y la comparta, habilitando el tráfico SMB (puerto 445). La forma más sencilla es montar el paquete DNN Azure Single and ExtraSmall del DNN Azure Accelerator. Si quieres construirte tu propio servicio te recomiendo le eches un vistazo a &lt;a href="http://blogs.msdn.com/b/windowsazurestorage/archive/2011/04/16/using-smb-to-share-a-windows-azure-drive-among-multiple-role-instances.aspx"&gt;este post de Dinesh Haridas&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Pasos a seguir&lt;/h3&gt;  &lt;p&gt;1) Habilitar en la suscripción el servicio Windows Azure Connect. Como ahora mismo aún está en CTP, deberás solicitar su activación a través del menú de “programas BETA” en la consola de administración de Windows Azure. La parte buena es que mientras está en CTP, este servicio es gratuito.    &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WindowsAzureConnectBeta_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="WindowsAzureConnectBeta" border="0" alt="WindowsAzureConnectBeta" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WindowsAzureConnectBeta_5F00_thumb.jpg" width="450" height="279" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2) Usar el “Relay” de Connect más cercano a tus servicios. Para ello, pulsa sobre el botón “Relay Region” e indica la región más cercana. Supuestamente también usarás la misma región para desplegar tu servidor más adelante.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RelayRegion_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="RelayRegion" border="0" alt="RelayRegion" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RelayRegion_5F00_thumb.jpg" width="450" height="298" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3) Instalar el cliente de Connect en tu equipo local (o desde donde quieras acceder a tu unidad compartida en la nube). Para ello, accede desde la sección “Red Virtual” de la consola de administración de Azure, y selecciona la suscripción. pulsa sobre el botón “Instalar extremo local”, siguiendo las instrucciones en pantalla.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/InstallLocalEndPoint.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="InstallLocalEndPoint" border="0" alt="InstallLocalEndPoint" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/InstallLocalEndPoint_5F00_thumb.jpg" width="172" height="133" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez instalado, podrás ver en el área de notificación de la barra de tareas de Windows el icono correspondiente al servicio. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzureConnectClient_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="AzureConnectClient" border="0" alt="AzureConnectClient" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzureConnectClient_5F00_thumb.jpg" width="450" height="208" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ConnectDiagnostics_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="ConnectDiagnostics" border="0" alt="ConnectDiagnostics" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ConnectDiagnostics_5F00_thumb.jpg" width="450" height="225" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4) Obtener un token de activación de Azure para el servidor SMB que se desplegará en Azure. Para ello, pulsamos el botón “Obtener Token de Activación” de la misma consola de Windows Azure. Copiamos el “guid” que nos devuelve en el portapapeles porque lo vamos a usar en el paso siguiente.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GetActivationToken.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="GetActivationToken" border="0" alt="GetActivationToken" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GetActivationToken_5F00_thumb.jpg" width="145" height="99" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5) Desplegar el servidor SMB en Azure conectado con Windows Azure Connect. Tal y como se comentó anteriormente, una forma rápida es usar el paquete DNN Azure Single and ExtraSmall del DNN Azure Accelerator. Sin embargo, el paquete que está compilado e incluido dentro de la descarga, no tiene habilitado Windows Azure Connect –sí lo estará en la próxima versión del Accelerator. Mientras tanto, puedes &lt;a href="http://dnnazureaccelerator.codeplex.com/SourceControl/list/changesets"&gt;descargar la última versión del código fuente&lt;/a&gt; y abrirlo en Visual Studio 2010, modificando las propiedades de Red Virtual del paquete antes de volver a generarlo. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/IntroducingActivationToken_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="IntroducingActivationToken" border="0" alt="IntroducingActivationToken" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/IntroducingActivationToken_5F00_thumb.jpg" width="450" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;6) Una vez que hemos desplegado el paquete en Azure (hay un &lt;a href="http://dnnazureaccelerator.codeplex.com/documentation"&gt;excelente video al respecto&lt;/a&gt;, por lo que me voy a saltar esa parte), volvemos a la sección de Red Virtual de la consola de administrador de Windows Azure para habilitar la interconexión entre nuestro equipo y el rol desplegado, creando un nuevo grupo. En la imagen siguiente se muestra un ejemplo donde conecto con dos servidores SMB distintos ubicados en dos servicios distintos (realmente 2 instancias de DotNetNuke en Azure):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Management-Network.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Management Network" border="0" alt="Management Network" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Management-Network_5F00_thumb.jpg" width="450" height="354" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;7) Con esto, ya deberíamos ver el equipo remoto en la nube ejecutando un simple ping. Para ello, copiamos la dirección IPv6 del equipo remoto de la misma consola de administración, y en una consola de comandos de DOS escribimos ping &amp;lt;direccionIPv6&amp;gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Ipv6_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Ipv6" border="0" alt="Ipv6" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Ipv6_5F00_thumb.jpg" width="450" height="306" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/PingResponse_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="PingResponse" border="0" alt="PingResponse" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/PingResponse_5F00_thumb.jpg" width="450" height="163" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;No os asustéis por el ping de la imagen. En el momento de la captura estaba conectado a través de una red 3G y me estaba dando más del doble de tiempo de conexión.&lt;/p&gt;  &lt;p&gt;NOTA: en caso de que no haya respuesta de ping, puede ser que nuestro equipo local no tenga habilitada la regla en el firewall. Para ello ejecutamos el comando siguiente:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;netsh advfirewall firewall add rule name=&amp;quot;ICMPv6&amp;quot; dir=in action=allow enable=yes protocol=icmpv6&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Para resolver más problemas de conectividad, puedes consultar el enlace siguiente: &lt;a title="http://msdn.microsoft.com/en-us/library/gg433016.aspx" href="http://msdn.microsoft.com/en-us/library/gg433016.aspx"&gt;http://msdn.microsoft.com/en-us/library/gg433016.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;8) Mapear la unidad de red a nuestro equipo local. Para ello, abrimos en el explorador de Windows la ventana de “Conectar nueva unidad de red...”, introduciendo la ruta: \\&amp;lt;IPv6&amp;gt;&lt;font color="#ff0000"&gt;.ipv6-literal.net&lt;/font&gt;\&amp;lt;carpeta&amp;gt;, donde &amp;lt;IPv6&amp;gt; es la dirección remota a la que hemos hecho ping en el paso anterior &lt;u&gt;sustituyendo el carácter “:” por “-“ &lt;/u&gt;(es la &lt;a href="http://social.technet.microsoft.com/Forums/en-US/winserverManagement/thread/d61f8efe-c9a7-4fd7-a7e9-f936c2154c54/" target="_blank"&gt;nomenclatura para el comando “net use”&lt;/a&gt;), y &amp;lt;carpeta&amp;gt; es el nombre del recurso compartido. Las credenciales usadas son las mismas que usamos al desplegar el servicio en Azure (ver fichero de configuración del servicio desplegado).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/MappingTheDrive_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="MappingTheDrive" border="0" alt="MappingTheDrive" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/MappingTheDrive_5F00_thumb.jpg" width="450" height="328" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Credentials_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Credentials" border="0" alt="Credentials" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Credentials_5F00_thumb.jpg" width="400" height="328" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Opcional: yo he usado el archivo c:\windows\system32\drivers\etc\host, añadiendo un alias para la IPv6 con un nombre más común. Así sé qué unidad es de cada servidor sin tener que recordar la IPv6. También hay que tener en cuenta que esta IPv6 puede cambiar al reiniciarse el servidor por cualquier motivo, por lo que éste último paso 8 habría que repetirlo de nuevo. Una opción podría ser crear una aplicación cliente que detectara estos cambios y que hiciera un “remap” de las unidades automáticamente.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DriveMapped_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="DriveMapped" border="0" alt="DriveMapped" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DriveMapped_5F00_thumb.jpg" width="450" height="281" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Conclusiones&lt;/h3&gt;  &lt;p&gt;El resultado es el poder modificar el contenido del VHD directamente desde nuestro equipo. Las posibilidades se me amontonan en la cabeza. Siempre hay que tener en cuenta que trabajaremos con nuestro ancho de banda a Internet –que por cierto, va impresionantemente bien con una conexión lenta-, por lo que para operaciones “grandes” de copia/pega de archivos sobre la misma unidad, compresión masiva de carpetas, etc. es recomendable conectarse al servidor SMB vía escritorio remoto.&amp;#160; &lt;/p&gt;  &lt;p&gt;Respecto al DNN Azure Accelerator, comenzaré a trabajar para poner un paso en el asistente para no tener que volver a recompilar el paquete en Visual Studio, tal y como hice con el paso de configuración RDP. En breve estará disponible.&lt;/p&gt;  &lt;h3&gt;Algunas reflexiones&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Sabiendo que la facturación del espacio consumido por los VHD (Page Blobs) es por “espacio ocupado” (las páginas vacías del VHD no se cobran), ¿te has parado a pensar que podrías tener unidades virtuales en Azure Storage de 1Tb (1.000Gb) cada una en la que Microsoft sólo te cobraría por el espacio utilizado? Si borras ficheros del disco (y lo mantienes desfragmentado), te baja la factura &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Sonrisa" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smile_5F00_2.png" /&gt; &lt;/li&gt;    &lt;li&gt;¿Qué tal funcionarán los sistemas de backups tradicionales con una unidad de red montada de este modo? Está claro que aquí el cuello de botella lo impone el ancho de banda de tu conexión a Internet, pero normalmente los programas de copias de seguridad realizan modificaciones incrementales ==&amp;gt; Esto tengo que probarlo &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smilewithtongueout" alt="Lengua fuera" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smilewithtongueout_5F00_2.png" /&gt; &lt;/li&gt;    &lt;li&gt;Tal y como comentó &lt;a href="http://twitter.com/jbrinkman"&gt;Joe Brinkman&lt;/a&gt;, actualizar tu web de DotNetNuke se convierte en cosa de niños simplemente copiando y pegando archivos a través del mismo explorador de Windows:       &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/jbrinkman.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="jbrinkman" border="0" alt="jbrinkman" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/jbrinkman_5F00_thumb.jpg" width="400" height="85" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;¿Qué tal funcionaría una instancia ExtraSmall si sólo es para servir ficheros a través de la red? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Ya sólo faltaría algún método de alta disponibilidad para el servidor SMB...pero eso también está a punto de llegar...&lt;/p&gt;  &lt;p&gt;Espero que sea de utilidad. Para mí lo es...¡y mucho!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201166" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /></entry><entry><title>Modificar las credenciales RDP en los roles de Azure sin Visual Studio</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/10/02/modificar-las-credenciales-rdp-en-los-roles-de-azure-sin-visual-studio.aspx" /><id>/blogs/davidjrh/archive/2011/10/02/modificar-las-credenciales-rdp-en-los-roles-de-azure-sin-visual-studio.aspx</id><published>2011-10-02T20:04:39Z</published><updated>2011-10-02T20:04:39Z</updated><content type="html">&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/remotedesktop_5F00_2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="remotedesktop" border="0" alt="remotedesktop" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/remotedesktop_5F00_thumb.png" width="156" height="156" /&gt;&lt;/a&gt;Uno de los principales problemas que se ha encontrado la gente al gestionar una aplicación en Azure es el no poder habilitar de una forma sencilla la conexión a escritorio remoto. ¿A qué me refiero con sencilla? Pues a no tener que descargar Visual Studio 2010 sólo para generar el paquete con las credenciales de acceso y generar el certificado X509 con el que se encriptan las mismas. &lt;/p&gt;  &lt;p&gt;Y es que aunque Visual Studio nos automatiza mucho esta tarea, hay perfiles “no desarrolladores” (por ejemplo, nuestros compis de IT) que no suelen tener instalado Visual Studio en sus equipos, aunque posiblemente sí se tengan que encargar del depliegue y gestión de roles en Azure (¿ha llegado ese momento?). &lt;/p&gt;  &lt;p&gt;Para ello usaremos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Utilidad &lt;a href="http://msdn.microsoft.com/en-us/library/windows/hardware/ff548309(v=vs.85).aspx"&gt;makecert.exe&lt;/a&gt;, para generar los certificados &lt;/li&gt;    &lt;li&gt;Consola de comandos de PowerShell &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;NOTA: el paquete “cspkg” a desplegar en Azure estará “compilado” como que tiene RDP habilitado&lt;/strong&gt; (es decir, que el fichero de definición del servicio tiene importado los espacios de nombres de RemoteAccess, etc.). Aquí lo que se trata es de poder usar otras credenciales que las que se crearon en tiempo de compilación, así como otro certificado.&lt;/p&gt;  &lt;h3&gt;Generando manualmente el certificado X509&lt;/h3&gt;  &lt;p&gt;1) &lt;strong&gt;Crear un certificado a través de línea de comandos&lt;/strong&gt; con la utilidad “makecert.exe”, haciendo exportable la clave:&lt;/p&gt;  &lt;p align="left"&gt;&lt;font face="Courier New"&gt;makecert.exe -r -pe -a sha1 -ss My -len 2048 -sky exchange -n &amp;quot;CN=Azure Deployment&amp;quot; mycertificate.cer&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Habilitar-RDP-en-Azure_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Habilitar RDP en Azure" border="0" alt="Habilitar RDP en Azure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Habilitar-RDP-en-Azure_5F00_thumb.jpg" width="450" height="92" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Es importante indicar el parámetro &lt;strong&gt;“-sky exchange”&lt;/strong&gt; ya que si no nos encontraremos con el error “&lt;em&gt;The remote desktop certificate with thumbprint ‘xxx’ does not have a type of key exchange and cannot be used for decryption&lt;/em&gt;” al intentar usar este certificado en Azure.&lt;/p&gt;  &lt;p&gt;2) &lt;strong&gt;Exportar el certificado en formato “PFX”&lt;/strong&gt; para subirlo y asociarlo al servicio en Azure. Para ello:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Abrimos el gestor de certificados desde una consolad e comandos tecleando “certmgr.msc” &lt;/li&gt;    &lt;li&gt;Localizamos el certificado que acabamos de generar y pulsamos el botón “Exportar” para abrir el asistente de exportación      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Exportar-Certificado-a-PFX_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Exportar Certificado a PFX" border="0" alt="Exportar Certificado a PFX" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Exportar-Certificado-a-PFX_5F00_thumb.jpg" width="350" height="321" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Seguimos las instrucciones del asistente, exportando la clave privada así como todas las propiedades extendidas del certificado      &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Export-PFX-Assistant_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Export PFX Assistant" border="0" alt="Export PFX Assistant" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Export-PFX-Assistant_5F00_thumb.jpg" width="350" height="318" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Finalmente introducimos una contraseña que usaremos en el momento de importarlo en Azure y un nombre de fichero “.pfx” &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;3) &lt;strong&gt;Importar el certificado en Windows Azure&lt;/strong&gt; a través de la consola de administración de Azure. Importamos el certificado pulsando botón derecho sobre el servicio y agregando el fichero y su contraseña que hemos generado:     &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Add-Certificate-to-the-service_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Add Certificate to the service" border="0" alt="Add Certificate to the service" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Add-Certificate-to-the-service_5F00_thumb.jpg" width="240" height="100" /&gt;&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Upload-certificate-to-Azure.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Upload certificate to Azure" border="0" alt="Upload certificate to Azure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Upload-certificate-to-Azure_5F00_thumb.jpg" width="350" height="153" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Generar la contraseña encriptada&lt;/h3&gt;  &lt;p&gt;El siguiente paso, es generar la contraseña que deseemos para nuestras credenciales RDP. Una de &lt;a href="http://davidjrh.visibli.com/share/tNVela"&gt;las formas más sencillas&lt;/a&gt;, para los amantes de PowerShell, es a través de la consola usando los pasos siguientes:&lt;/p&gt;  &lt;p&gt;1) Abrir una consola de comandos PowerShell, a través de Inicio&amp;gt;Accesorios&amp;gt;Windows PowerShell (ejecutar como “Administrador” pulsando el botón derecho sobre el icono)&lt;/p&gt;  &lt;p&gt;2) Ejecutar los comandos siguientes pulsando Enter después de cada línea:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;[Reflection.Assembly]::LoadWithPartialName(&amp;quot;System.Security&amp;quot;)      &lt;br /&gt;$pass = [Text.Encoding]::UTF8.GetBytes(&amp;quot;&amp;lt;Password&amp;gt;&amp;quot;)       &lt;br /&gt;$content = new-object Security.Cryptography.Pkcs.ContentInfo –argumentList (,$pass)       &lt;br /&gt;$env = new-object Security.Cryptography.Pkcs.EnvelopedCms $content       &lt;br /&gt;$env.Encrypt((new-object System.Security.Cryptography.Pkcs.CmsRecipient(gi cert:\CurrentUser\My\&amp;lt;Thumbprint&amp;gt;)))       &lt;br /&gt;[Convert]::ToBase64String($env.Encode())&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Recuerda cambiar el valor &amp;quot;&amp;lt;Password&amp;gt;” por la contraseña que desees. También debes modificar el valor “&amp;lt;Thumbprint&amp;gt;” por la huella del certificado que generaste en la sección anterior. La forma más sencilla de encontrar este valor es en el panel de control de Windows Azure, seleccionando el certificado y viendo las propiedades en la barra lateral derecha:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Certificate-Thumbprint.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Certificate Thumbprint" border="0" alt="Certificate Thumbprint" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Certificate-Thumbprint_5F00_thumb.jpg" width="350" height="174" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3) Copia esa información en el Notepad, eliminando los caracteres de nueva línea.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i.msdn.microsoft.com/dynimg/IC448761.jpg" width="450" height="317" alt="" /&gt;&lt;/p&gt;  &lt;h3&gt;Introduciendo los valores en el fichero de configuración del servicio&lt;/h3&gt;  &lt;p&gt;Finalmente, con los valores anteriores, abrimos el fichero de configuración del servicio (.cscfg) y modificamos los valores solicitados:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Service-configuration-file.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Service configuration file" border="0" alt="Service configuration file" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Service-configuration-file_5F00_thumb.jpg" width="475" height="105" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Indicar que la fecha de expiración de la cuenta debe estar en formato ISO 8601 “yyyy&amp;#39;-&amp;#39;MM&amp;#39;-&amp;#39;dd&amp;#39;T&amp;#39;HH&amp;#39;:&amp;#39;mm&amp;#39;:&amp;#39;ss&amp;#39;.&amp;#39;fffffffK”.&lt;/p&gt;  &lt;h3&gt;Conclusión&lt;/h3&gt;  &lt;p&gt;Como hemos visto, hemos realizado todo el proceso sin tener que tocar Visual Studio. Del mismo modo, todo este proceso puede automatizarse programáticamente a través de .NET, creando una simple utilidad para facilitar las labores a nuestros compañeros. &lt;/p&gt;  &lt;p&gt;Un ejemplo de esta implementación, es el nuevo paso en el asistente del DNN Azure Accelerator en el que se simplifica la generación del certificado, se solicitan estas credenciales y se encriptan en un sólo paso (idéntico al que está en Visual Studio 2010!!). &lt;/p&gt;  &lt;p&gt;Os dejo con dos capturas de pantalla como avance. Lo subiré a CodePlex en breve:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RDP-Settings-on-the-DNN-Azure-Accelerator_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="RDP Settings on the DNN Azure Accelerator" border="0" alt="RDP Settings on the DNN Azure Accelerator" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RDP-Settings-on-the-DNN-Azure-Accelerator_5F00_thumb.jpg" width="450" height="328" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RDP-enabled-packages_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="RDP enabled packages" border="0" alt="RDP enabled packages" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RDP-enabled-packages_5F00_thumb.jpg" width="450" height="328" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Espero que sirva de ayuda.&lt;/p&gt;  &lt;p&gt;Un saludo a todos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=200922" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /></entry><entry><title>[Evento] Desarrollando aplicaciones web en la nube</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/09/28/evento-desarrollando-aplicaciones-web-en-la-nube.aspx" /><id>/blogs/davidjrh/archive/2011/09/28/evento-desarrollando-aplicaciones-web-en-la-nube.aspx</id><published>2011-09-28T16:42:00Z</published><updated>2011-09-28T16:42:00Z</updated><content type="html">&lt;p style="color:red;font-size:12pt;font-weight:bold;"&gt;AVISO: Cambio de hora a las 16:00 GMT+0 y con posibilidad de verlo por webcast en directo. Ver detalles m&amp;aacute;s abajo.&lt;br /&gt;
Si tienes problemas con el enlace del correo de confirmaci&amp;oacute;n del webcast, usa este (se abre a las 15:30) &lt;a href="https://www.livemeeting.com/cc/_XML/wwe_uk/join?id=1032496233&amp;amp;role=attend&amp;amp;pw=97480C47" target="_new"&gt;https://www.livemeeting.com/cc/_XML/wwe_uk/join?id=1032496233&amp;amp;role=attend&amp;amp;pw=97480C47&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Logo_5F00_2.jpg"&gt;&lt;img height="53" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Logo_5F00_thumb.jpg" align="right" alt="Logo" border="0" title="Logo" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;Tras la breve pausa veraniega, volvemos a retomar las charlas en TenerifeDev sobre tecnolog&amp;iacute;as .NET. Vamos a comenzar con una charla sobre el desarrollo de aplicaciones web sobre Windows Azure usando el gestor de contenidos DotNetNuke. &lt;/p&gt;
&lt;p&gt;Si alguien asisti&amp;oacute; a la charla en la &lt;a target="_blank" href="http://davidjrh.intelequia.com/2011/07/evento-office365-dotnetnuke-y-windows_19.html"&gt;TLP2k11&lt;/a&gt; o al &lt;a target="_blank" href="http://davidjrh.intelequia.com/2011/07/materiales-del-evento-cms-azure.html"&gt;CMS Azure RoadShow&lt;/a&gt; de Julio que no se preocupe, porque esta vez nos centraremos en aspectos m&amp;aacute;s t&amp;eacute;cnicos: &lt;em&gt;c&amp;oacute;mo crear una extensi&amp;oacute;n para DotNetNuke con Visual Studio 2010 &amp;ndash;o sea, una aplicaci&amp;oacute;n sobre DNN-, c&amp;oacute;mo desplegarla en Azure y/o distribuirla e incluso c&amp;oacute;mo llegar a ganar dinero con ello.&lt;/em&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Por supuesto veremos algunas de las mayores novedades de DNN 6.0 (C#, jQuery, acelerador para Windows Azure, etc.) y como no, sortearemos algunos regalos de nuestros patrocinadores. Recordar que en la &amp;uacute;ltima charla Telerik reparti&amp;oacute; licencias de su suite de controles para ASP.NET y Windows Phone 7. Felicidades a C. Martin y Marcos G.D. que fueron los agraciados. Pluralsight no se qued&amp;oacute; atr&amp;aacute;s y reparti&amp;oacute; 1 mes de regalo de toda su oferta de cursos en l&amp;iacute;nea a todos los asistentes. &lt;/p&gt;
&lt;p&gt;Os dejo los detalles de la charla. No pod&amp;eacute;is faltar. &lt;/p&gt;
&lt;p&gt;P.D. la de Windows 8&amp;hellip;en breve, cuando a &lt;a target="_blank" href="http://geeks.ms/blogs/adiazmartin/"&gt;Alberto&lt;/a&gt; deje de ca&amp;eacute;rsele la baba &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smile_5F00_2.png" alt="Sonrisa" class="wlEmoticon wlEmoticon-smile" style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Evento TenerifeDev - Desarrollando aplicaciones web en la nube&lt;/span&gt; &lt;br /&gt;Fecha y hora&lt;/strong&gt;: 7 de octubre de 2011, de &lt;span style="color:red;"&gt;16:00 a 17:30 GMT+0&lt;/span&gt; &lt;br /&gt;&lt;strong&gt;Lugar&lt;/strong&gt;: Sal&amp;oacute;n de grados de la Escuela T&amp;eacute;cnica Superior de Ingenier&amp;iacute;a Inform&amp;aacute;tica (ETSII) &lt;br /&gt;&lt;strong&gt;Descripci&amp;oacute;n&lt;/strong&gt;: DotNetNuke es un proyecto open source, la plaforma de gesti&amp;oacute;n de contenidos para la construcci&amp;oacute;n de sitios y aplicaciones web basada en Microsoft .NET m&amp;aacute;s ampliamente adoptada a nivel global. Las organizaciones usan DotNetNuke para desarrollar y desplegar r&amp;aacute;pidamente sitios web interactivos y din&amp;aacute;micos, intranets, extranets y aplicaciones web. Con el soporte para granjas de servidores y el DotNetNuke Azure Accelerator, se presenta sobre Windows Azure como una soluci&amp;oacute;n de gesti&amp;oacute;n el&amp;aacute;stica de contenidos en la nube. &lt;br /&gt;&lt;strong&gt;Ponente&lt;/strong&gt;: &lt;a target="_blank" href="http://davidjrh.intelequia.com"&gt;David Rodr&amp;iacute;guez&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;URL para registro del webcast en directo:&lt;/strong&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496233&amp;amp;Culture=es-ES"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496233&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=200799" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /><category term="Cloud Computing" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Cloud+Computing/default.aspx" /></entry><entry><title>Modifying the VHD contents on Azure</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/09/04/modifying-the-vhd-contents-on-azure.aspx" /><id>/blogs/davidjrh/archive/2011/09/04/modifying-the-vhd-contents-on-azure.aspx</id><published>2011-09-04T12:33:00Z</published><updated>2011-09-04T12:33:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://lh6.ggpht.com/-CvThvBgSLrc/TmImEe8WI7I/AAAAAAAAAas/a3u8Yj9sTF0/s1600-h/network-drive-3%25255B4%25255D.png"&gt;&lt;img height="147" width="147" src="http://lh5.ggpht.com/-yby6h25DyDs/TmImFDnuNOI/AAAAAAAAAaw/fHfFrzFWH2A/network-drive-3_thumb%25255B2%25255D.png?imgmax=800" align="right" alt="network-drive-3" border="0" title="network-drive-3" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top:0px;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;Now that a new DNN upgrade package has been released, perhaps you are interested in how to modify your DNN instance to upgrade the contents to the latest release.&lt;/p&gt;
&lt;p&gt;Some people are doing this work downloading the full VHD, updating it locally and the uploading it again to Azure Storage. I don&amp;rsquo;t use this method, but I&amp;rsquo;ll explain how to do it and how I do it.&lt;/p&gt;
&lt;h3&gt;Downloading, modifying, uploading&lt;/h3&gt;
&lt;p&gt;If you want to download the VHD and make the changes on your development environment, you will need a tool that can download/upload PAGE BLOBS. &lt;/p&gt;
&lt;h4&gt;Method 1: Use a graphical tool&lt;/h4&gt;
&lt;p&gt;Cerebrata is working on a specific tool for this task that is name &lt;strong&gt;Azure Page Blob Manager&lt;/strong&gt;. &lt;a href="http://www.cerebrata.com/Blog/post/Azure-Page-Blob-Manager-A-utility-for-managing-Windows-Azure-Page-Blobs-and-Azure-Drives.aspx"&gt;You can check it here&lt;/a&gt; (is still in beta and you can download and use it)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://lh5.ggpht.com/-3JmdxZ5FDBQ/TmImGTgpQSI/AAAAAAAAAa0/wtvscsVmYWM/s1600-h/Cerebrata%252520Azure%252520Page%252520Blob%252520Manager%25255B4%25255D.jpg"&gt;&lt;img height="338" width="450" src="http://lh4.ggpht.com/-pyR9wUVnv2E/TmImHSwoDTI/AAAAAAAAAa4/20oob50YDfg/Cerebrata%252520Azure%252520Page%252520Blob%252520Manager_thumb%25255B2%25255D.jpg?imgmax=800" alt="Cerebrata Azure Page Blob Manager" border="0" title="Cerebrata Azure Page Blob Manager" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;As the name suggests, this utility is specifically designed to manage Windows Azure Page Blobs. At a very high level here is what you can do with this utility: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;You can view the contents of a page blob mounted as an Azure Drive&lt;/strong&gt;. This is probably the neatest feature of this utility. Basically this utility creates an empty VHD on your computer and then downloads the occupied pages of the page blob and then mounts the VHD on your computer as a drive so that you can see the files contained in the page blob.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;You can upload VHDs in Windows Azure Blob storage&lt;/strong&gt; as page blobs.&lt;/li&gt;
&lt;li&gt;You can &lt;strong&gt;download page blobs&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;You can &lt;strong&gt;view the total size of the page blob and also the space currently occupied by the page blob&lt;/strong&gt; (which would tell you how much are you being charged for this particular page blob).&lt;/li&gt;
&lt;li&gt;You can see &lt;strong&gt;how many pages in the page blob are occupied&lt;/strong&gt; (blue boxes in the screenshot below). Each box below represents 1/400&lt;sup&gt;th&lt;/sup&gt; of the total page blob size. Clicking on the blue box will tell you how many bytes are occupied.&lt;/li&gt;
&lt;li&gt;This utility will list the page blobs only.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Method 2: use a command line tool&lt;/h4&gt;
&lt;p&gt;You can also download/upload the VHD using a command line tool like &amp;ldquo;AccelCon.exe&amp;rdquo; that was included in the &lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/61397"&gt;original DNN Azure Accelerator&lt;/a&gt; package (&lt;a href="http://azureaccelerators.codeplex.com/"&gt;developed by Slalom Consulting&lt;/a&gt;). This tool is not included on the latest build so you can download it from this link:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://intelequia.blob.core.windows.net/downloads/AccelCon.zip" title="https://intelequia.blob.core.windows.net/downloads/AccelCon.zip"&gt;https://intelequia.blob.core.windows.net/downloads/AccelCon.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/-civtvEx1pHs/TmImI3P45NI/AAAAAAAAAa8/GWt3AWy46-M/s1600-h/AccelCon%25255B8%25255D.jpg"&gt;&lt;img height="227" width="450" src="http://lh3.ggpht.com/-XpiDLey_Hhc/TmImJp9Gr4I/AAAAAAAAAbA/t2DxUZwJuAY/AccelCon_thumb%25255B3%25255D.jpg?imgmax=800" alt="AccelCon" border="0" title="AccelCon" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can upload the VHD as a page blob using this command line syntax:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;accelcon.exe /u /v &amp;quot;.\DotNetNuke.vhd&amp;quot; &amp;quot;azure-accelerator-drives/dotnetnuke.vhd&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;/h4&gt;
&lt;h4&gt;Method 3: Why to download the VHD?&lt;/h4&gt;
&lt;p&gt;If you &lt;strong&gt;enable RDP&lt;/strong&gt;, you can copy/paste contents and many other things. When I need to upgrade the contents (i.e. when a new upgrade release is delivered), I usually: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;connect via RDP to one instance &lt;/li&gt;
&lt;li&gt;navigate to Codeplex and download the upgrade package (web navigation is enabled inside the roles) &lt;/li&gt;
&lt;li&gt;extract the update into the drive. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://lh6.ggpht.com/-I4JR08_Llrc/TmImKfmKOpI/AAAAAAAAAbE/QY_8qdu_kgg/s1600-h/Modifying%252520via%252520RDP%25255B4%25255D.jpg"&gt;&lt;img height="373" width="450" src="http://lh4.ggpht.com/-vyLx0fx4O0M/TmImLB8J7YI/AAAAAAAAAbI/b4sOdtDfRFM/Modifying%252520via%252520RDP_thumb%25255B2%25255D.jpg?imgmax=800" alt="Modifying via RDP" border="0" title="Modifying via RDP" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I usually copy the contents to another folder (for backup purposes) and execute and create a copy of the database (T-SQL: create database &amp;hellip; as copy of &amp;hellip;), so I can repeat/regress the process quickly is something fails. I do all this work via RDP. In order to enable RDP, at this moment you need to recompile the package (&lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/71164#DownloadId=266570"&gt;see documentation&lt;/a&gt;), but&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt; I highly recommend it&lt;/span&gt;&lt;/strong&gt; for this and other purposes.&lt;/p&gt;
&lt;p&gt;Some new features will be announced respect to this on the next release of the &lt;a href="http://dnnazureaccelerator.codeplex.com"&gt;DNN Azure Accelerator&lt;/a&gt;, so stay tuned :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=200338" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /></entry><entry><title>Modificar el contenido de un VHD en Azure</title><link rel="alternate" type="text/html" href="/blogs/davidjrh/archive/2011/09/04/modificar-el-contenido-de-un-vhd-en-azure.aspx" /><id>/blogs/davidjrh/archive/2011/09/04/modificar-el-contenido-de-un-vhd-en-azure.aspx</id><published>2011-09-04T12:31:00Z</published><updated>2011-09-04T12:31:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://lh6.ggpht.com/-CvThvBgSLrc/TmImEe8WI7I/AAAAAAAAAas/a3u8Yj9sTF0/s1600-h/network-drive-3%25255B4%25255D.png"&gt;&lt;img height="147" width="147" src="http://lh5.ggpht.com/-yby6h25DyDs/TmImFDnuNOI/AAAAAAAAAaw/fHfFrzFWH2A/network-drive-3_thumb%25255B2%25255D.png?imgmax=800" align="right" alt="network-drive-3" border="0" title="network-drive-3" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;Ahora que ha salido un nuevo paquete de actualizaci&amp;oacute;n de DNN, quiz&amp;aacute;s est&amp;eacute;s interesado en c&amp;oacute;mo modificar tu instancia de DNN en Azure para actualizar los contenidos a esta &amp;uacute;ltima versi&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;Seg&amp;uacute;n tengo entendido, mucha gente est&amp;aacute; realizando esta operaci&amp;oacute;n descargando localmente una copia del VHD, actualiz&amp;aacute;ndolo en el entorno de desarrollo y volviendo a subir de nuevo el VHD a Azure. Personalmente no use este m&amp;eacute;todo, pero explicar&amp;eacute; c&amp;oacute;mo realizarlo y luego los pasos que sigo yo para actualizar mis instancias.&lt;/p&gt;
&lt;h3&gt;Descargar, modificar, subir&lt;/h3&gt;
&lt;p&gt;Si deseas realizar el trabajo mediante la descarga local del VHD realizando los cambios en tu entorno de desarrollo, necesitar&amp;aacute;s una herramienta capaz de descargar/subir PAGE BLOBS. A diferencia de los blobs normales &amp;ndash;block blobs-, las VHD usan otro tipo de blobs que normalmente no todas las herramientas que trabajan con Azure lo soportan.&lt;/p&gt;
&lt;h4&gt;M&amp;eacute;todo 1: Usa una herramienta de interfaz gr&amp;aacute;fica&lt;/h4&gt;
&lt;p&gt;Cerebrata est&amp;aacute; trabajando en una herramienta espec&amp;iacute;fica para esta tarea llamada&lt;strong&gt;Azure Page Blob Manager&lt;/strong&gt;. &lt;a href="http://www.cerebrata.com/Blog/post/Azure-Page-Blob-Manager-A-utility-for-managing-Windows-Azure-Page-Blobs-and-Azure-Drives.aspx"&gt;Puedes descargarla aqu&amp;iacute;&lt;/a&gt; (todav&amp;iacute;a est&amp;aacute; en beta y puedes descargarla y usarla).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://lh5.ggpht.com/-3JmdxZ5FDBQ/TmImGTgpQSI/AAAAAAAAAa0/wtvscsVmYWM/s1600-h/Cerebrata%252520Azure%252520Page%252520Blob%252520Manager%25255B4%25255D.jpg"&gt;&lt;img height="338" width="450" src="http://lh4.ggpht.com/-pyR9wUVnv2E/TmImHSwoDTI/AAAAAAAAAa4/20oob50YDfg/Cerebrata%252520Azure%252520Page%252520Blob%252520Manager_thumb%25255B2%25255D.jpg?imgmax=800" alt="Cerebrata Azure Page Blob Manager" border="0" title="Cerebrata Azure Page Blob Manager" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Caracter&amp;iacute;sticas&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Esta utilidad est&amp;aacute; espec&amp;iacute;ficamente dise&amp;ntilde;ada para administrar Page Blobs de Windows Azure. A muy alto nivel, esto es lo que puedes hacer con esta herramienta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Puedes ver los contenidos de un page blob montado como una Azure Drive&lt;/strong&gt;. Probablemente este es uno de las mejores caracter&amp;iacute;sticas de esta utilidad. B&amp;aacute;sicamente esta utilidad crea un VHD vac&amp;iacute;o en tu equipo local y descarga las p&amp;aacute;ginas ocupadas del page blob para finalmente montar el VHD localmente como una unidad para que puedas ver los ficheros que contiene el page blob. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Puedes subir VHDs a Windows Azure &lt;/strong&gt;como page blobs. &lt;/li&gt;
&lt;li&gt;Puedes &lt;strong&gt;descargar page blobs&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;Puedes &lt;strong&gt;ver el tama&amp;ntilde;o total del page blob as&amp;iacute; como el espacio ocupado actualmente por el page blob&lt;/strong&gt; (que te deber&amp;iacute;a indicar cu&amp;aacute;nto te est&amp;aacute;n facturando actualmente por este page blob en particular). &lt;/li&gt;
&lt;li&gt;Puedes ver &lt;strong&gt;cu&amp;aacute;ntas p&amp;aacute;ginas est&amp;aacute;n ocupadas en el page blob est&amp;aacute;n ocupadas &lt;/strong&gt;(las cajas azules en la captura de pantalla). Cada caja representa 1/400avo del total del tama&amp;ntilde;o total del page blob. Pulsando sobre una caja azul te dir&amp;aacute; cu&amp;aacute;ntos bytes est&amp;aacute;n ocupados. &lt;/li&gt;
&lt;li&gt;Esta utilidad s&amp;oacute;lo listar&amp;aacute; los page blobs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;M&amp;eacute;todo 2: usa una herramienta de l&amp;iacute;nea de comandos&lt;/h4&gt;
&lt;p&gt;Tambi&amp;eacute;n puedes descargar/subir el VHD usando una herramienta de l&amp;iacute;nea de comandos como &amp;ldquo;AccelCon.exe&amp;rdquo; que fue incluida en el &lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/61397"&gt;paquete original de DNN Azure Accelerator&lt;/a&gt; (&lt;a href="http://azureaccelerators.codeplex.com/"&gt;desarrollada por Slalom Consulting&lt;/a&gt;). Esta herramienta no est&amp;aacute; incluida en el &amp;uacute;ltimo distribuible as&amp;iacute; que la he puesto a descarga en este enlace:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://intelequia.blob.core.windows.net/downloads/AccelCon.zip" title="https://intelequia.blob.core.windows.net/downloads/AccelCon.zip"&gt;https://intelequia.blob.core.windows.net/downloads/AccelCon.zip&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/-civtvEx1pHs/TmImI3P45NI/AAAAAAAAAa8/GWt3AWy46-M/s1600-h/AccelCon%25255B8%25255D.jpg"&gt;&lt;img height="227" width="450" src="http://lh3.ggpht.com/-XpiDLey_Hhc/TmImJp9Gr4I/AAAAAAAAAbA/t2DxUZwJuAY/AccelCon_thumb%25255B3%25255D.jpg?imgmax=800" alt="AccelCon" border="0" title="AccelCon" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Puedes subir el VHD como un page blob usando esta sint&amp;aacute;xis:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;accelcon.exe /u /v &amp;quot;.\DotNetNuke.vhd&amp;quot; &amp;quot;azure-accelerator-drives/dotnetnuke.vhd&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;/h4&gt;
&lt;h4&gt;M&amp;eacute;todo 3: &amp;iquest;Por qu&amp;eacute; descargar el VHD?&lt;/h4&gt;
&lt;p&gt;Si &lt;strong&gt;habilitas RDP (escritorio remoto)&lt;/strong&gt;, puedes copiar/pegar contenidos y muchas otras tareas. Personalmente, cuando necesito actualizar los contenidos por un cambio de versi&amp;oacute;n de DNN, normalmente:: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;conecto v&amp;iacute;a RDP a una instancia &lt;/li&gt;
&lt;li&gt;navego a Codeplex y descargo el paquete de actualizaci&amp;oacute;n (se puede navegar desde dentro de los roles) &lt;/li&gt;
&lt;li&gt;descomprimo la actualizaci&amp;oacute;n dentro de la unidad&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://lh6.ggpht.com/-I4JR08_Llrc/TmImKfmKOpI/AAAAAAAAAbE/QY_8qdu_kgg/s1600-h/Modifying%252520via%252520RDP%25255B4%25255D.jpg"&gt;&lt;img height="373" width="450" src="http://lh4.ggpht.com/-vyLx0fx4O0M/TmImLB8J7YI/AAAAAAAAAbI/b4sOdtDfRFM/Modifying%252520via%252520RDP_thumb%25255B2%25255D.jpg?imgmax=800" alt="Modifying via RDP" border="0" title="Modifying via RDP" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Normalmente copio los contenidos a otra carpeta en la unidad (para backup) y creo una copia de seguridad de la base de datos (T-SQL: create database &amp;hellip; as copy of &amp;hellip;), de manera que pueda repetir/deshacer r&amp;aacute;pidamente la operaci&amp;oacute;n si algo va mal. Todo esto v&amp;iacute;a RDP. Para habilitar RDP, actualmente necesitas recompilar el paquete a desplegar en Azure para introducir los credenciales y el certificado con el que se encriptan (&lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/71164#DownloadId=266570"&gt;ver documentaci&amp;oacute;n&lt;/a&gt;), pero es algo &lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;altamente recomendable&lt;/span&gt;&lt;/strong&gt; para &amp;eacute;sta y otras tareas.&lt;/p&gt;
&lt;p&gt;En breve se anunciar&amp;aacute;n nuevas carcter&amp;iacute;sticas del &lt;a href="http://dnnazureaccelerator.codeplex.com"&gt;DNN Azure Accelerator&lt;/a&gt; respecto a estas tareas de actualizaci&amp;oacute;n, as&amp;iacute; que permanece en sinton&amp;iacute;a.&lt;/p&gt;
&lt;p&gt;Un saludo.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=200337" width="1" height="1"&gt;</content><author><name>davidjrh</name><uri>http://geeks.ms/members/davidjrh/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx" /><category term="DotNetNuke" scheme="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx" /></entry></feed>
