Windows 8 Enterprise Sideloading (Parte 2/2): Despliegue de aplicaciones con MDT 2012 Update 1

1537_Win8Logo_01_008485DD

Hace poco compartí aquí en el blog, lo que llamé la primera parte de lo que se conoce como Enterprise Sideloading en Windows 8 de forma manual. Por supuesto, no es la única manera de desplegar aplicaciones de Windows 8 en un entorno empresarial, pues diferentes soluciones pueden cubrir este requerimiento.

Hoy nos concentraremos en el otro método para hacerlo de una forma gestionada, y claro está, que no implique costos adicionales, pues basta y sobra con herramientas gratuitas que Microsoft pone a disposición de todos. La solución no puede ser otra más que Microsoft Deployment Toolkit (MDT) 2012.

Lo que haremos, será agregar una aplicación con fines de prueba a nuestro recurso compartido en MDT, preparar las operaciones necesarias para que funcione, y realizar el despliegue a través de la red, junto con el sistema operativo, utilizando MDT y Windows Deployment Services (WDS).

¿Qué necesitamos?

Windows Server 2012 instalado, que sea un Controlador de Dominio, que tenga instalado y configurado MDT 2012 Update 1 y Windows Deployment Services (WDS).

Pueden descargar e instalar un período de prueba de Windows Server 2012 desde aquí: http://technet.microsoft.com/es-ES/evalcenter/hh670538.aspx?wt.mc_id=TEC_108_1_5

Para instalar y configurar el rol de WDS, pueden seguir este artículo en TechNet Wiki que escribí hace un tiempo: http://social.technet.microsoft.com/wiki/contents/articles/15720.instalacion-y-configuracion-basica-de-windows-deployment-services-en-server-2012-es-es.aspx

– Archivos de instalación de Windows 8 Enterprise. Si no lo tienen, pueden descargar un período de prueba desde aquí: http://technet.microsoft.com/es-ES/evalcenter/hh699156.aspx?ocid=wc-bl-sprblog

*Nota: Es necesario hacer una instalación de Windows 8 Enterprise, que además se pueda unir a un dominio, de lo contrario, debe utilizarse una Clave de producto para instalación de prueba, que se adquiere a través del sitio de licenciamiento por volumen de Microsoft.

– Archivos de instalación de Windows 8 previamente desarrollada. Es decir, con extensión .APPX. Una aplicación completa, incluye su propia firma y certificado criptográfico, pero en un escenario de prueba, será necesario instalar un Certificado Auto-Firmado localmente. Este artículo explicará el procedimiento para hacerlo.

*Nota: Si aún no han desarrollado por primera vez una aplicación para Windows 8, pueden hacerlo siguiendo este tutorial de MSDN: http://msdn.microsoft.com/es-ES/library/windows/apps/hh986964.aspx

– Un Equipo de Referencia, que esté conectado a la misma red que el equipo técnico (Server 2012) para realizar la implementación.

Instalando y configurando nuestro recurso compartido de implementación

Lo primero que tenemos que hacer, es preparar nuestro Deployment Share desde la Consola de MDT. Esto incluye agregar sistema operativo, nuestras aplicaciones de escritorio, actualizaciones, controladores y generar nuestra Secuencia de Tarea que se encargará de administrar el proceso de implementación.

Para aprovechar los diferentes artículos en serie que he ido escribiendo, desde los primeros pasos, pueden seguir un post anterior para realizar este proceso paso a paso:
http://geeks.ms/blogs/checho/archive/2013/02/05/implementaci-243-n-b-225-sica-de-windows-8-con-mdt-2012-update-1-y-windows-deployment-services.aspx

*Nota: Este artículo sigue basado en el mismo Deployment Share y dominio creados, para mayor facilidad y comprensión, aunque las Sencuencias de Tareas y ciertos nombres pueden variar.

Una vez hecho lo anterior, ya todo debe estar listo para una implementación básica; sin embargo, procederé a ampliarlo agregando la aplicación de interfaz moderna y los respectivos cambios en la Secuencia de Tarea en los próximos pasos.

Agregando aplicación de Windows 8 a MDT

En el Equipo Server técnico, donde tenemos instalado y configurado el MDT, debemos copiar los archivos de instalación a un directorio de fácil acceso (Incluyendo el certificado, si se requiere). Para este artículo, copié los archivos a la unidad del sistema operativo (C:).

*Nota: Para esta aplicación, y específicamente, para este post, utilizaré un certificado que se generó manualmente con fines de prueba. En un entorno empresarial, lo ideal sería que la aplicación esté firmada, o se distribuya el certificado desde una entidad certificadora para los equipos unidos a un dominio.

Abrimos el Deployment Workbench, expandimos nuestro Deployment Share, clic derecho en el nodo de Applications y seleccionamos New Application. Se abrirá el asistente para agregar una nueva aplicación:

image

En la página de Application Type, seleccionamos Application with source files y clic en el botón Next.

image

En la página de Details, rellenamos los campos necesarios para referenciar la aplicación, y clic en el botón Next.

image

En la página de Source, debemos especificar el directorio exacto de la carpeta que contiene los archivos de instalación de la aplicación de Windows 8 y clic en el botón Next.

image

*Nota: Es necesario asegurarnos que el .APPX, con todos los archivos necesarios para la instalación, se encuentren en ese directorio.

En la página de Destination, debemos dejar o modificar el nombre para referenciar nuestra aplicación de Windows 8 y clic en el botón Next.

image

En la página de Command Details, debemos indicarle exactamente el nombre de la aplicación de Windows 8, con su respectiva extensión .APPX. De esta forma, MDT la podrá identificar como una aplicación de interfaz moderna al momento de desplegarla. Este es el paso más importante. Para este artículo, mi aplicación se llama: Sample_1.0.0.2_AnyCPU_Debug.appx

image

Finalmente, en la página de Summary, clic en el botón Next, y en la página de Confirmation, clic én el botón Finish para terminar. La aplicación debería verse ahora en el nodo de Applications en nuestro Deployment Share:

image

Creando y configurando Secuencia de Tareas

En el artículo base que referencié desde el primer paso para preparar el recurso compartido, muestro cómo crear la Secuencia de Tareas que consumirá todo lo que se agregue dentro de los nodos del Deployment Share. Sin embargo, para fines prácticos, mostraré nuevamente a continuación el paso a paso para crear una nueva Secuencia de Tareas, junto con los pasos necesarios para la configuración requerida.

En nuestro Deployment Share, hacemos clic derecho sobre el nodo de Task Sequences, y clic en New Task Sequence. Se abrirá el asistente para generar una nueva Secuencia de Tareas.

image

En la página de General Settings, le indicamos un ID, ojalá siguiendo algún estándar, un nombre a la Secuencia de Tareas y su respectiva descripción. Hacemos clic en Next para continuar.

image

En la página de Select Template, escogemos Standard Client Task Sequence y clic en el botón Next.

image

En la página de Select OS, le indicamos la instalación de Windows 8 Enterprise y clic en el botón Next para continuar.

image

En la página de Specify Product Key, dejamos la selección predeterminada de Do not specify a product key at this time para que utilice el período de prueba y clic en el botón Next.

image

*Nota: Si nuestra empresa utiliza Claves de Activación Múltiple (MAK), aquí podemos especificar la segunda opción para hacer que Windows detecte y utilice la clave de producto desde el principio.

En la página de OS Settings, debemos escribir los datos de registro y la página de inicio que deseamos tenga de forma predeterminada Internet Explorer y clic en el botón Next.

image

En la página de Admin Password, le especificamos la contraseña para el Administrador integrado de Windows (Que es con el usuario que predeterminadamente inicia el asistente de instalación de MDT) y clic en el botón Next.

image

*Nota: Si no queremos asignar contraseña, basta con seleccionar: Do not specify an Administrator password at this time.

En la página de Summary, revisamos que todo esté bien y hacemos clic en el botón Next. En la página de Confirmation, clic en el botón Finish.
Ya tenemos nuestra Secuencia de Tareas, que debe verse ahora en el nodo de Task Sequences, dentro de nuestro Deployment Share.

Una de las características más interesantes de las Secuencias de Tareas, es que si vamos a sus propiedades (Clic derecho, Properties), veremos tres pestañas muy interesantes para consultar y modificar comportamientos de la Secuencia durante el proceso de implementación:

image

En la pestaña de General, se le puede modificar el nombre, la descripción, manejar versionamiento de la Secuencia de Tareas, indicar la plataforma en la que estará soportada, en incluso habilitarla o deshabilitarla del asistente de implementación.

En la última pestaña de OS Info, se puede editar el Archivo de Auto Respuesta que incluye cada Secuencia de Tareas al ser creada, por lo que se le podrían agregar muchas personalizaciones más, o remover las que ya existen.

Finalmente, en la pestaña de Task Sequence, se encuentran especificados paso por paso lo que hará la Secuencia de Tareas, dependiendo del escenario en que sea llamada; es decir, nueva instalación, actualización, remplazo, migración, etc. Estos pasos se pueden quitar, modificar o inclusive, agregar nuevos e irlos poniendo en el orden que deseemos, claro está, teniendo cuidado que no se vayan a afectar uno con el otro. El asistente lee y ejecuta los pasos de arriba hacia abajo. Los que están en gris, se encuentran deshabilitados, y los verdes, están listos para usarse. El aspecto predeterminado, es similar al siguiente:

image

Como indiqué al principio, como se trata de una implementación para fines de prueba, y en este caso no hay entidad certificadora en el Servidor que pueda entregar los certificados, es necesario agregar un paso adicional a la Secuencia de Tareas que se encargue de buscar e instalar el Certificado de la aplicación de Windows 8 en cada nuevo equipo. Recordemos que si manejan este escenario, la recomendación es poner el certificado en la misma carpeta que los archivos de instalación (Como predeterminadamente está).

Para instalar el Certificado, agregaremos una ejecución en el símbolo del sistema que utilice la herramienta de Certutil integrada en Windows para que lo instale en el Trusted Root Certification Authority.

Dentro de la pestaña de Task Sequence nos ubicamos en Install Applications, hacemos clic en el botón Add en la parte superior, vamos a General y seleccionamos Run Command Line.

image

Dependiendo de donde nos deje el Run Command Line, debemos utilizar los botones de Up y Down para que se ubique justo antes de Install Applications, así:

image

Hacemos clic en Run Command Line, y en Name, lo cambiamos por Install Appx Certificate. Ahora, debajo de Command Line, debemos ejecutar:

cmd /c certutil –addstore ROOT “<RutaCert><Certificado>.cer”

Donde <RutaCert> es la ubicación del certificado para la aplicación de Windows 8, y <Certificado>.cer es el nombre que tiene el respectivo certificado con su extensión. Para mi caso, todo lo llamé directamente del Nodo de Applications cuando se copiaron los archivos de instalación de la aplicación. Quedaría así:

cmd /c certutil -addstore ROOT \DCDeploymentShareApplicationsSample Windows 8 ApplicationSample_1.0.0.2_AnyCPU_Debug.cer

image

Al hacer clic en el botón Apply, debe tener un aspecto similar al siguiente:

image

*Nota: Si tenemos una entidad certificadora, no es necesario realizar el proceso anterior, y se puede pasar al siguiente paso directamente.

Actualizando recurso compartido y WDS

Esto es todo lo que debemos hacer. El siguiente paso, es hacer clic derecho en nuestro Deployment Share y seleccionar Update Deployment Share:

image

En la página de Options, dejamos la selección predeterminada para que se actualice lo que ya tenemos, y clic en el botón Next.

image

En la página de Summary, clic en el botón Next. En la página de Confirmation, clic en el botón Finish.

En el WDS, hacemos clic derecho en el nodo de Boot Images, y seleccionamos Add Boot Image…

image

En Image File, ubicamos el archivo LiteTouchPE que corresponda a nuestra arquitectura, y que normalmente debería estar en la carpeta DeploymentShareBoot (Si se dejó el nombre predeterminado) y clic en el botón Next.

image

En la página de Image Metadata, clic en el botón Next. En la página de Summary, clic en el botón Next, y en la página de Task Progress, clic en el botón Finish.

¡Todo está listo! Ya podremos desplegar un equipo con Windows 8 Enterprise, y la respectiva aplicación moderna.

Instalando y probando

Iniciamos nuestro Equipo de Referencia desde la red para que detecte el WDS, y arranque desde el asistente de instalación del MDT:

image

Una vez conectados al MDT, basta con seguir el asistente básico de instalación para que inicie el despliegue. Como esto ya lo hemos visto en varios artículos, los pondré todos solo como referencia:

image image

image 
Es importantísimo unir el equipo al dominio durante el asistente, pues lo requieren las aplicaciones de Interfaz Moderna desplegadas manualmente:

image

image image

image

En la página de Applications, veremos la aplicación de Windows 8 de la misma forma que las aplicaciones de escritorio que hayamos agregado a nuestro Deployment Share:

image

image

La instalación finalmente iniciará, y en menos de 20 minutos, habremos terminado:

image

*Nota: La instalación de Windows 8 con MDT rebajó notoriamente en tiempo, pero puede incrementar o decrementar, dependiendo del hardware donde se esté desplegando.

Una vez terminada la instalación, debemos verificar que el MDT no haya arrojado errores, y reiniciar el equipo. Al reiniciar, debemos iniciar sesión con cualquier usuario de dominio, y si todo salió bien, debemos tener disponible nuestra aplicación en la Pantalla de Inicio, o bien realizando la búsqueda por el respectivo nombre:

image

*Nota: Internamente, MDT utiliza el comando DISM.EXE /online /Add-ProvisionedAppxPackage, para que la aplicación quede disponible para cada nuevo usuario que inicie sesión en el equipo. Pueden verlo editando el Script ZTIApplications ubicado en la carpeta de Scripts.

Esto es todo. Espero les pueda servir de utilidad.

Saludos,

Checho

La aplicación “Canal+Yomvi” que no era compatible con Windows 8, ACT, los Shims y su solución

shutterstock_82751101

Estas son de las entradas que más me gustan escribir, pues a parte de entregar una posible solución a diferentes usuarios que se estén enfrentando al iconveniente que aquí se muestra, es la mejor forma para aprender.

Como ha sucedido en diferentes artículos, el problema en este caso, es con respecto a algo que cada empresa en algún momento durante su migración a otro sistema operativo debe enfrentar: Compatibilidad de Aplicaciones.
Este problema en específico, nació de los maravillosos Foros de Microsoft TechNet en Español, y se presentaba con una aplicación comercial muy popular sobre todo en España llamada: Canal+Yomvi.

A continuación, describiré un poco más a fondo el problema, la causa encontrada y su solución o mitigación, para los que busquen cómo enfrentarlo mientras se actualiza la aplicación.

El problema

Canal+Yomvi, es una aplicación que desarrolló el Canal+, para que los usuarios puedan consumir sus servicios de TV desde diferentes dispositivos. Sin embargo, hasta este momento, si alguien descarga la aplicación desde un sistema Windows 8, muy probablemente se encontrará con el siguiente mensaje de error al lanzar el instalador:

image

Unsupported operating system, major=6, version=2,2, sp=0.0, type=1

No importa que la aplicación se ejecute con privilegios administrativos (Clic derecho, Ejecutar como administrador), o que como en la muchos casos, se le cambie el Modo de compatibilidad con Windows 7 o Windows XP desde sus propiedades, siempre se recibirá este mensaje, y por ende, no se puede proceder a la instalación.

*Nota: Este mensaje sale indiferente de la arquitectura del sistema operativo Windows 8 que se tenga instalado.

La causa

Aunque el mensaje apenas si permite aceptarlo para que se cierre la instalación, y no brinda una aparente clara ayuda, sí transmite de una forma muy precisa que la aplicación está validando la versión del sistema operativo en la que se intenta instalar. Normalmente, este tipo de problemas se mitigan cambiando el modo de compatibilidad, pues esto realiza una “Mentira sobre versión”, e intenta engañar las llamadas a la API que realiza la aplicación y hacerla creer que está sobre la plataforma que busca.

En este caso, sin embargo, no era suficiente. Como solo tiene un ejecutable para las tres versiones, probablemente esté comprobando la versión, pero de una forma errónea, ya la mayoría de estas aplicaciones, no buscan por característica, sino por un simple número. Por ejemplo, esta aplicación en su código puede estar encerrando el paso de “ser compatible o no”, indicando que si el sistema local es mayor a 5.1 (XP) y menor o igual a 6.1 (Win7), podrá instalarse, de lo contrario, no.

Hasta aquí, no sabía como forzar a Windows a que mintiera más allá de lo que podía con sus propios shims de compatibilidad, hasta que The App Compact Guy (Chris Jackson), muy amablemente me abrió una luz al final del camino acordándome de Application Compatibility Toolkit. 

La solución

Application Compatibility Toolkit (ACT), provee varias herramientas destinada al diagnóstico y mitigación sobre compatibilidad de aplicaciones, tanto para Internet Explorer como para Windows. ACT solía venir como una descarga separada, pero desde la salida del Asessment And Deployment Kit (ADK), está incluído en su descarga para ser instalado con el mismo asistente.

Una de las herramientas más interesantes que están en el kit de ACT, es el Application Compatibility Administrator, pues una vez identificadas las posibles causas, nos permitirá generar unos Shims personalizados para cada aplicación, que se podrán instalar sobre Windows localmente para mitigar los problemas de compatibilidad, e incluso hacer distribución en un ambiente de implementación para todas las máquinas.

*Nota: Un Shim, es básicamente un fix que genera el Compatibility Administrator, que se encarga de interceptar las llamadas a la API que hace Windows utilizando diferentes módulos o DLLs y devolviéndoles diferentes módulos que engañan a la aplicación haciéndose pasar por los verdaderos. Esto con el fin de realizar múltiples correcciones, como las de mentira sobre versión. En próximos artículos, intentaré ampliar más claramente este concepto, junto con la forma de utilizar ACT y todas sus características.

Ahora bien, volviendo a este caso, decidí utilizar ACT para tratar de remediar el problema que estaba causando la aplicación.

Desde el Compatibility Administrator, ejecuté el asistente para el nuevo Fix, haciendo clic derecho en New Database, debajo de Custom Databases y Create New > Application Fix.

1

En la ventana del Asistente, me bastó con llenar algunos datos para identificar la aplicación, e indicarle el acceso al ejecutable con el que se están teniendo los problemas:

image

La primera ventana que aparece, es la de Application Modes, que son básicamente los que aparecen en la pestaña de Compatibilidad que integra Windows. Como en este caso no lo resolví así, hacer algo aquí sobra.

image

La ventana de Compatibility Fixes, es la más importante dentro de este asistente. Una vez identificado el posible problema, aquí se debe elegir – entre los cientos que hay- los fixes apropiados para mitigar el comportamiento anormal de la aplicación que estemos analizando. Para mi caso, sabía que el inconveniente lo estaba causando la validación explícita sobre versión que estaba haciendo la aplicación, y como en la web indicaba que hasta Windows 7 era compatible, el Fix indicado era Win7RTMVersionLie.

image

Sin embargo, al presionar el botón Test Run para probar que el Shim funcione antes de implementarlo, seguía recibiendo el mismo mensaje.

ACT predeterminadamente excluye algunos módulos que están en ubicaciones como System32, entre otras, y que suelen utilizar aplicaciones con código administrado, como las de VB. En este orden de ideas, algunos Shims requieren que se incluyan estos módulos para poderle mentir correctamente a la aplicación.

Lo que tuve que hacer para no exluir nada, fue seleccionar el Shim, hacer clic en el botón Parameters, y debajo de Module name, escribir “*”, y hacer clic en el botón Add para que se incluyeran todos:

image

Lo siguiente es solo hacer clic en el botón Next, y Finish.

Como ya sabía que mi Shim funcionaba, debía instalarlo localmente para que la aplicación se dejara instalar. Si se quiere hacer desde la Consola, basta con guardar el Shim haciendo clic en el botón de Save, asignarle un nombre y guardarlo tanto internamente, como físicamente en un directorio fácil de acceder:

image

Por último, clic derecho en la Base de datos creada y clic en Install para que el Shim quede localmente:

image

¡Todo listo! Una vez ejecuté el instalador de la aplicación de Canal+, el resultado fue bastante satisfactorio:

image

“Milagrosamente”, ahora Canal+Yomvi era compatible y gracias a esto, pude completar la instalación sin problemas.

Como ven, no siempre y en la gran mayoría de los casos, Windows es el que tiene la culpa.

[Opcional]: Descarga e instalación del Shim

Para los que tengan este problema, pueden descargar el Shime que generé para mitigarlo mientras Canal+ lanza una nueva actualización desde aquí:

Deben descomprimir el .ZIP, y ejecutar con privilegios elevados (Clic derecho, Ejecutar como administrador) el archivo InstallShim.

Deberán ver una ventana similar a la siguiente al instalarse:

image

Estoy estudiando lo más que puedo sobre ACT, así que espero como mencioné anteriormente, empezar a escribir artículos que cubran el tema pronto.

Espero sea de utilidad.

Saludos,

Checho

Windows 8 Enterprise Sideloading (Parte 1/2): Despliegue manual de aplicaciones.

1537_Win8Logo_01_008485DD

*Nota: Este artículo, aunque se trata como Parte 1, es independiente de la futura Parte 2, pues se explicarán dos métodos diferentes para un mismo fin.

Windows 8, introdujo un nuevo tipo de aplicaciones llamadas: Aplicaciones de la Tienda de Windows. Estas aplicaciones tienen un comportamiento muy diferente a las tradicionales de escritorio; por un lado, consumen toda la pantalla de Windows, integrando nuevas formas de interactuar con ellas, no tienen botones de minimizar, maximizar o cerrar y de hecho, pasan a estar en un estado de “Suspedido” cuando no están ejecutándose en primer plano.
Este nuevo tipo de aplicaciones tiene además nuevos diseños, se adaptan a diferentes tipos de dispositivos y utilizan “tiles” en vez de íconos para referenciarse en la Pantalla de Inicio.

Las Aplicaciones de la Tienda de Windows, o de Interfaz Moderna, como se le conocen, se les diferencia de una forma muy fácil dentro de la Pantalla de Inicio, pues se les puede integrar mensajes e información personalizada a mostrar para el usuario, sin necesidad de estar en ejecución. Tienen un aspecto similar al siguiente:

image

Su instalación (desinstalación) es muchísmo más fácil y rápida, lo que garantiza transparencia y confiabilidad en el rendimiento de Windows 8, aunque personalmente, no me parecen tan sencillas de hacer Troubleshooting cuando ocurren problemas. Técnicamente, las aplicaciones se instalan en un directorio escondido y protegido de Windows llamado WindowsApps, dentro de Archivos de Programa, es decir: C:Program FilesWindowsApps. Este directorio no se puede cambiar de forma soportada, aunque estas aplicaciones tienen un peso considerablemente bajo.

*Nota: Pueden encontrar más información sobre cómo funcionan las aplicaciones de Windows 8, incluyendo especificaciones entre las diferentes apps en el Blog del MVP Alberto Escalona.

Hay dos métodos generales para adquirir e instalar las aplicaciones de Windows 8; el primero, es desde la nueva Tienda de Windows 8, embebida en el sistema operativo, donde los fabricantes o desarrolladores pueden publicar sus aplicaciones, y por supuesto, es el lugar en el que podrán encontrar. La cantidad de aplicaciones ahora depende mucho de la región donde se encuentren. La Tienda en Windows 8 se ve así:

image

El segundo método, es hacer un despliegue manual y local de las aplicaciones de Interfaz Moderna desarrolladas como LOB (Línea de Negocio). Tienen el mismo procedimiento de desarrollo que las que se pueden publicar en la Tienda, pero se instalan en los Equipos Windows 8 de una forma diferente. A esto se le conoce como Enterprise Sideloading, y la forma de hacerlo, lo veremos en el resto del artículo.

¿Requerimientos?

– Equipo con Windows 8 Enterprise, unido a un Controlador de Dominio, preferiblemente (Aunque no necesariamente) en Windows Server 2012. Si aún no tienen Windows 8 Enterprise, pueden descargar un período de prueba desde aquí: http://technet.microsoft.com/es-ES/evalcenter/hh699156.aspx?ocid=wc-bl-sprblog

Windows Server 2012 en su versión de prueba, lo pueden bajar desde aquí: http://technet.microsoft.com/es-ES/evalcenter/hh670538.aspx?wt.mc_id=TEC_108_1_5

*Nota: Debe ser Enterprise, y debe estar unido a un dominio. Si el equipo no está unido al dominio, o es Windows 8 PRO, debe activarse un tipo de clave denominada: Clave de producto para instalación de prueba, que se adquiere a través del sitio de licenciamiento por volumen de Microsoft. 

– Archivos de instalación de Windows 8 previamente desarrollada. Es decir, con extensión .APPX. Una aplicación completa, incluye su propia firma y certificado criptográfico, pero en un escenario de prueba, será necesario instalar un Certificado Auto-Firmado localmente. Este artículo explicará el procedimiento para hacerlo.

*Nota: Si aún no han desarrollado por primera vez una aplicación para Windows 8, pueden hacerlo siguiendo este tutorial de MSDN: http://msdn.microsoft.com/es-ES/library/windows/apps/hh986964.aspx 

Para este artículo, utilizaré una pequeña aplicación que desarrollé, incluyendo un Certificado generado por ella misma desde Visual Studio, y que contiene un simple título y texto para ilustrar:

S1

*Nota: Para los que estén interesados en probar el Sideloading, pero no tengan tiempo (ni ganas) de desarrollar alguna aplicación de prueba, pueden descargar la que utilizaré en todo el artículo desde aquí:

Generando política en Controlador de Dominio

Para que Windows 8 pueda confiar en la instalación que se está realizando, es necesario habilitar la política de “Permitir que se instalen todas las aplicaciones de confianza” desde las directivas de grupo en el Servidor que cumpla el rol de Controlador de Dominio.

Para habilitarla, desde el Servidor que sea nuestro Controlador de Dominio, abrimos el Administrador de Políticas de Grupo, editamos la política predeterminada, o la que se cree para el grupo de Equipos Windows 8, y navegamos hasta:

Configuración de equipoPolíticasPlantillas AdministrativasComponentes de WindowsImplementación de paquetes de aplicaciones.

Doble clic en ‘Permitir que se instalen todas las aplicaciones de confianza’, marcar Habilitado y aceptar todo para que se aplique la política:

image

Desde el Equipo cliente Windows 8, debemos actualizar las políticas de grupo, una vez se haya configurado en el Servidor. Para esto, basta con ejecutar en un símbolo del sistema con privilegios elevados el comando: gpupdate /force

image

Una vez hecho esto, Windows 8 tendrá la política activa, creando el valor de AllowAllTrustedApps:

image

Esto quiere decir que el valor de AllowAllTrustedApps activa la política localmente, así que los que deseen, pueden descargarlo e importarlo desde aquí:

Instalando Certificado

Para los que como en mi caso, tengan una aplicación completa, pero que no está firmada digitalmente con un certificado, y hayan tenido que crear uno al momento de compilar la aplicación, pueden seguir los siguientes pasos para instalarlo localmente:

En el Equipo Windows 8, vamos a los archivos de instalación de nuestra aplicación, y buscamos el certificado (Que tiene extensión .cer). Doble clic sobre el certificado de Seguridad, y en la ventana de Certificado, clic en el botón Install Certificate (Instalar Certificado):

image

En la página de bienvenida del asistente, seleccionar Local Machine y clic en el botón Next (Siguiente):

image

En la página de Certificate Store (Almacén de Certificado), seleccionar Place all certificate in the folowing store (Ubicar todos los certificados en el siguiente almacén) y seleccionar Trusted Root Certification Authorities:

image

En la página final del asistente, clic en el botón Finish (Finalizar) para terminar y que el certificado indique que fue instalado correctamente:

image

*Nota: Recordemos que el certificado hará que Windows confíe en la aplicación, y la política le permitirá a Windows instalar todas las aplicaciones en las que confíe.

¡Todo está listo! Hasta este punto, lo último que hay que hacer, es desplegar la aplicación de Windows 8.

*Nota: Una aplicación de Windows 8 predeterminadamente se instala por usuario, sin embargo, cuando se hace montaje de aplicaciones de interfaz moderna se puede decidir si se quiere instalar por usuario o por máquina (Para todos los usuarios). A continuación, explicaré cada uno.

Montar la aplicación por usuario

Para montar la aplicación por usuario, es necesario utilizar un par de comandos sencillos desde PowerShell, herramienta de scripting para IT Pros por excelencia. Para hacerlo:

1. Copiamos la carpeta con todos los archivos de instalación de nuestra aplicación de Interfaz Moderna al equipo Windows 8 Enterprise, en una ubicación fácil de referenciar, por ejemplo, en C:, o bien podemos tenerla en una ruta de red.

2. Desde la Pantalla de Inicio, buscamos PowerShell, clic derecho y Ejecutar como Administrador. Nos abrirá la consola de PowerShell con privilegios elevados.

3. Desde PowerShell, ejecutamos los siguientes comandos en secuencia:

import-module appx

add-appxpackage <RutaAppx> –DependencyPath <RutaDependencyAppx>

Donde <RutaAppx> es la ubicación completa de nuestro paquete .appx generado desde Visual Studio, y <RutaDependencyAppx> es el directorio completo del paquete de dependencia que genera también Visual Studio dentro de los archivos de instalación de la aplicación, específicamente, en la carpeta Dependencies.

Para mi caso, que tengo la aplicación en C:, el comando sería:

import-module appx

add-appxpackage C:MyAppChechoBlog_1.0.0.1_AnyCPU_Debug_TestChechoBlog_1.0.0.1_AnyCPU_Debug.appx –DependencyPath C:MyAppChechoBlog_1.0.0.1_AnyCPU_Debug_TestDependenciesMicrosoft.WinJS.1.0.appx

image

Podremos ver nuestra aplicación desde la Pantalla de Inicio de Windows 8:

image

Este comando tendría que correrse en la sesión de cada usuario al que se le quiera instalar la aplicación.

Montar aplicación para todos los usuarios

En la mayoría de los casos, como se hace con las aplicaciones de escritorio, las empresas probablemente necesitarán desplegar la aplicación para todos los usuarios, y no hacerla dependiente solo de uno. Debemos proceder entonces a utilizar la herramienta de Administración y mantenimiento de imágenes de implementación (DISM), incluida en Windows y en el ADK para Windows 8.

*Nota: Esta herramienta tiene muchos otros usos, como actualizar, montar imágenes de Windows online/offline, agregar características, entre otras.

Para montar la aplicación de Windows 8 en todos los usuarios, debemos hacer lo siguiente:

1. Iniciar sesión en el Equipo Windows 8 con cualquier usuario de Dominio que tenga privilegios administrativos sobre la máquina (o sobre el dominio).

2. Copiamos la carpeta con todos los archivos de instalación de nuestra aplicación de Interfaz Moderna al equipo Windows 8 Enterprise, en una ubicación fácil de referenciar, por ejemplo, en C:, o bien podemos tenerla en una ruta de red.

3. Desde la Pantalla de Inicio, digitar CMD, clic derecho sobre el resultado y “Ejecutar como administrador”

4. Desde el símbolo del sistema, ejecutamos:

Dism /Online /Add-ProvisionedAppxPackage /PackagePath:<RutaAppx> /SkipLicense

Donde <RutaAppx> es la ubicación completa de nuestro paquete .appx generado desde Visual Studio.

Para este artículo, que tengo el paquete en C:, el comando quedaría:

Dism /Online /Add-ProvisionedAppxPackage /PackagePath:C:MyAppChechoBlog_1.0.0.1_AnyCPU_Debug_Test
ChechoBlog_1.0.0.1_AnyCPU_Debug.appx /SkipLicense

image

5. Reiniciar el equipo.

Después de reiniciado el equipo, podremos ver nuestra aplicación funcionando en todos los usuarios, incluyendo el que la montó.

image

PowerShell o DISM, pueden ser utilizados también para Eliminar aplicaciones por usuario o para todos los usuarios.

En un próximo artículo (Parte 2) –No necesariamente el siguiente-, trataré de ejemplificar la forma de montar estas aplicaciones de una manera centralizada, utilizando Microsoft Deployment Toolkit (MDT) 2012.

Saludos,

Checho