1Sep

Cómo convertir una aplicación de escritorio de Windows a una aplicación universal de Windows

click fraud protection

Con la actualización de aniversario de Windows 10, Microsoft está haciendo posible que los desarrolladores conviertan las aplicaciones de escritorio tradicionales de Windows en aplicaciones de la plataforma universal de Windows( UWP).Pero cualquiera puede hacer esto con cualquier aplicación, no solo con desarrolladores.

Con el convertidor de Windows 10, simplemente dale un archivo. msi o. exe y escupirá un paquete. appx. Luego puede descargar esta aplicación en su propia PC o, si es el desarrollador de la aplicación, puede enviar la aplicación UWP resultante a la Tienda Windows. Esta característica llegará para todos con la actualización de aniversario de Windows 10, que trae muchas aplicaciones "heredadas" a la tienda de Windows.

Por qué querría hacer este

Esta característica es el resultado final del Proyecto Centenario de Microsoft, que está diseñado para llevar esas aplicaciones de escritorio "heredadas" Win32 y. NET Windows a la Tienda Windows y la nueva Plataforma Universal de Windows.

instagram viewer

Quizás se pregunte por qué alguien querría convertir una aplicación de escritorio a una nueva aplicación UWP.Por un lado, solo las aplicaciones UWP están permitidas en la Tienda Windows. Esto permite a los desarrolladores tener más atención en sus aplicaciones, sin mencionar la instalación con un solo clic, compras fáciles y actualizaciones automáticas.

La nueva plataforma de aplicaciones de Microsoft también cuenta con un espacio aislado, por lo que hay un beneficio de seguridad para convertir aplicaciones antiguas en aplicaciones UWP.La herramienta de conversión analizará el comportamiento de su aplicación de escritorio y creará un entorno limitado solo para él, dándole solo los permisos que necesita para ejecutarse correctamente. Si la aplicación se ve comprometida, no podrá salir de la zona de pruebas limitada y meterse con el resto del sistema. Las aplicaciones se instalarán y desinstalarán sin dejar basura en el sistema de archivos y en el registro.

Las aplicaciones resultantes siguen siendo potentes, a pesar del entorno limitado. Estas aplicaciones pueden usar características de UWP, pero deben ser tan poderosas como una aplicación de escritorio tradicional. Como dice la documentación de Microsoft: "Como aplicación de UWP, tu aplicación puede hacer lo que podría hacer como una aplicación de escritorio clásica. Interactúa con una vista virtualizada del registro y el sistema de archivos que es indistinguible del registro real y del sistema de archivos. "

Las limitaciones

Aquí hay algunas limitaciones importantes. Primero, solo puede hacer esto en la actualización de aniversario de Windows 10.Por ahora, funcionará con la compilación Vista previa de Windows 10 14316 y superior, por lo que deberá unirse al programa Windows Insider y usar una versión de Vista previa de Insider de Windows 10.

Esta función también requiere las ediciones Professional o Enterprise deWindows 10. Los usuarios de Windows 10 Home no podrán usar Desktop App Converter. A partir de la compilación 14316, solo funcionó en Windows 10 Enterprise, pero se ofrece soporte para Windows 10 Professional. Actualmente, esta herramienta solo se puede usar en versiones de 64 bits de Windows, y el paquete AppX resultante solo se puede instalar en versiones de 64 bits de Windows. Esto cambiará en futuras versiones de Insider de Windows 10.

Las aplicaciones resultantes están destinadas para PC con Windows 10.No funcionarán en los teléfonos inteligentes con Windows 10 Mobile, Xbox One, HoloLens, Surface Hub y otras plataformas de Windows 10 que ejecutan aplicaciones UWP.Sin embargo, si usted es un desarrollador, Microsoft ofrece una ruta para convertir su aplicación de escritorio en una aplicación UWP multiplataforma: "Si elige mover toda la funcionalidad de su aplicación fuera de la partición de la aplicación con plena confianza y en elpartición de contenedor de aplicaciones, entonces su aplicación podrá ejecutarse en cualquier dispositivo con Windows 10. "

Sin embargo, algunos tipos de comportamiento de la aplicación no son compatibles. Una aplicación no puede requerir que se ejecute como administrador o utilizar otros tipos de acceso de bajo nivel al sistema. Microsoft proporciona una lista de comportamientos que no están permitidos.

Cómo configurar el convertidor de aplicaciones de escritorio

Suponiendo que esté utilizando una compilación de Windows 10 Insider Preview, puede descargar e instalar Desktop App Converter desde el sitio para desarrolladores de Microsoft. Descargue los archivos DesktopAppConverter.zip y BaseImage-14316.wim. Extraiga el archivo descargado DesktopAppConverter.zip a una carpeta en su computadora y coloque el archivo BaseImage en el mismo directorio.(Si hay una nueva compilación de Windows 10 disponible, debería ver un nuevo archivo BaseImage. Tendrá que usar el archivo BaseImage con el mismo número de versión que su compilación instalada de Windows 10.)

También necesitará descargare instala el Windows 10 SDK.

A continuación, abra una ventana de PowerShell como administrador. Para hacerlo, abra el menú Inicio, busque "PowerShell", haga clic con el botón derecho en su acceso directo y seleccione "Ejecutar como administrador".

Cambie la política de ejecución de PowerShell ejecutando el siguiente comando. Acepte el cambio escribiendo y después.

Set-ExecutionPolicy bypass

Ejecute el siguiente comando, reemplazando C: \ Users \ NAME \ Downloads \ DesktopAvertConvertor con la ruta al directorio en su computadora:

cd -Path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor

Configure elDesktop App Converter ejecutando el siguiente comando:

. \ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim

Si se le solicita reiniciar mientras ejecuta cualquiera de estos comandos, reinicie su computadora y luego ejecute el comando de nuevo.

Cómo convertir una aplicación de escritorio

Ahora puede ejecutar la secuencia de comandos DesktopAppConverter.ps1 desde una ventana de PowerShell de administrador para convertir una aplicación de escritorio a una aplicación UWP en un solo comando. Necesitarás el instalador de la aplicación para hacer esto. Como ejemplo, usaremos VLC aquí.

Para ver la lista detallada de opciones, puede ejecutar el siguiente comando en cualquier momento:

get-help. \ DesktopAppConverter.ps1 -detailed

Aquí hay un comando que puede usar y ajustar para su aplicación:

. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Destination C: \ Output \ MyApp -PackageName "MyApp" -Publisher "CN = & lt; publisher_name & gt; "-Version 0.0.0.1 -MakeAppx -Verbose

Deberá ajustar el comando para agregar su propio nombre de editor, versión, nombre de paquete y señalarlo en el archivo instalador y el directorio de destino que prefiera. La opción -InstallerArguments "/ S" aquí pasa el modificador / S al instalador, lo que hace que muchos instaladores de aplicaciones se instalen silenciosamente sin ninguna intervención del usuario. Las aplicaciones deben poder instalarse sin intervención del usuario o no puede convertirlas.

El instalador de la aplicación debe estar en su propio directorio sin ningún otro archivo, ya que los archivos en el mismo directorio que el instalador se copiarán en el paquete. appx resultante.

Por ejemplo, estamos usando VLC aquí, así que aquí está el comando que usaríamos:

. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C: \ Users \ chris\ Downloads \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S" -Destination C: \ Output \ VLC -PackageName "VLC" -Publisher "CN = VideoLAN" -Version 0.2.2.2 -MakeAppx -Verbose

La herramienta le dará un paquete. appx, que es la versión UWP de la aplicación.

Cómo instalar la aplicación sin firmarla

Normalmente, se requieren aplicaciones de firma con una firma válida antes de poder instalarlas. Microsoft recomienda crear un certificado autofirmado y firmar la aplicación con eso en su computadora. Puedes hacerlo usando las instrucciones a continuación, si quieres.

Sin embargo, si solo desea instalar la aplicación en su propia computadora, puede hacerlo usted mismo más rápido, sin interferir con ninguna firma. Windows 10 le permite instalar aplicaciones sin firmar si está instalando una aplicación "sin empaquetar" desde un directorio.

Para ello, abra una ventana de PowerShell como administrador y ejecute el siguiente comando:

Add-AppxPackage -Path C: \ Path \ to \ AppxManifest.xml -Register

Encontrará el archivo AppxManifest.xml junto a la aplicación.archivo appx en el directorio de salida que ha especificado.

Ahora puede iniciar la aplicación desde su menú de Inicio. Será una "aplicación de Windows" en lugar de una "aplicación de escritorio", pero de lo contrario se verá y funcionará como una aplicación de escritorio normal.

Cómo iniciar sesión e instalar la aplicación

No es necesario que siga estas instrucciones si ya ha instalado la aplicación. Esta es la forma más difícil.

Normalmente, solo puede instalar un paquete. appx si tiene una firma válida. Microsoft recomienda usar la aplicación signtool.exe incluida con Windows 10 SDK para crear un certificado autofirmado, que le permitirá instalar y probar la aplicación en su propia computadora.

Simplemente abra una ventana del símbolo del sistema como administrador y ejecute los siguientes comandos para crear un certificado autofirmado y firmar el paquete. appx con él:

cd "C: \ Archivos de programa( x86) \ Windows Kits \ 10 \ bin \ x64" MakeCert.exe -r -h 0 -n "CN = Publisher" -eku 1.3.6.1.5.5.7.3.3 -pe -svmy.pvk my.cer pvk2pfx.exe -pvk my.pvk -spc my.cer -pfx my.pfx signtool.exe sign -f my.pfx -fd SHA256 -v C: \ Path \ to \ application.appx

Noteque el editor que especifique, que es el "CN = Publisher", debe coincidir con el editor que especificó anteriormente al crear el archivo AppX.Entonces, continuando con nuestro ejemplo de VLC desde arriba, tendríamos que usar "CN = VideoLAN".

Se le pedirá que ingrese una contraseña. Puedes dejar la contraseña en blanco.

Ahora puede instalar el paquete. appx en una ventana de PowerShell( Administrador) con el comando Add-AppxPackage:

Add-AppxPackage C: \ Path \ to \ application.appx

Esta característica puede ser utilizada por cualquier persona, pero solo por desarrolladores.y tal vez algunos administradores de sistemas, querrán seguir esta ruta. Afortunadamente, el proceso es extremadamente fácil para los desarrolladores, asumiendo que sus aplicaciones no requieren ninguna funcionalidad que no sea compatible con el entorno limitado de UWP.