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

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

  1. Hola Checho, en el caso de Clave de producto para instalación de prueba, te refieres a la key de Sideloading ?, es que estamos instalando una aplicacion (han solicitado que desarrollen para ellos) en un windows 8.1 Pro agregado a un dominio, pero cada vez que la intentamos instalar nos pide clave de desarrollador (sabemos que metiendo una de hotmail funciona pero al cabo de unos dias volvera a pedirla).Lo que deseamos es que no nos vuelva a pedir contraseña para actualizar o instalar.

    http://msdn.microsoft.com/es-es/library/windows/apps/hh974578.aspx#NoInternet

    Gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *