Como converter um aplicativo de área de trabalho do Windows em um aplicativo universal do Windows
Com a Atualização de Aniversário do Windows 10, a Microsoft está possibilitando que os desenvolvedores convertam aplicativos tradicionais de área de trabalho do Windows em aplicativos da Plataforma Universal do Windows (UWP). Mas qualquer um pode fazer isso com qualquer aplicativo - não apenas desenvolvedores.
Com o conversor do Windows 10, basta dar um arquivo .msi ou .exe e ele vai cuspir um pacote .appx. Você pode então sideload este aplicativo em seu próprio PC, ou se você é o desenvolvedor do aplicativo, você pode enviar o aplicativo UWP resultante para o Windows Store. Esse recurso chegará para todos com a Atualização de Aniversário do Windows 10, trazendo muitos aplicativos "legados" para a Windows Store.
Por que você gostaria de fazer isso?
Esse recurso é o resultado final do Projeto Centennial da Microsoft, projetado para levar esses aplicativos de área de trabalho Win32 e .NET Windows “herdados” à Windows Store e à nova Plataforma Universal do Windows..
Você pode se perguntar por que alguém iria querer converter um aplicativo de desktop em um novo aplicativo UWP. Por um lado, apenas aplicativos UWP são permitidos na Windows Store. Isso permite que os desenvolvedores tenham mais olhos em seus aplicativos, sem mencionar a instalação com um único clique, a fácil compra e as atualizações automáticas..
A nova plataforma de aplicativos UWP da Microsoft está em modo seguro, mas os aplicativos de área de trabalho que você converte não são. Esses aplicativos terão acesso total ao seu sistema, assim como um aplicativo de desktop tradicional. Como a documentação da Microsoft diz: “Como um aplicativo UWP, seu aplicativo é capaz de fazer as coisas que ele poderia fazer como um aplicativo de desktop clássico. Ele interage com uma visão virtualizada do sistema de registro e arquivos que é indistinguível do registro real e do sistema de arquivos. ”
As limitações
Existem algumas limitações importantes aqui. Primeiro, você só pode fazer isso na atualização de aniversário do Windows 10. Por enquanto, ele funcionará com o Windows 10 Insider Preview, versão 14316 e superior, portanto, você precisará ingressar no programa Windows Insider e usar uma compilação do Insider Preview do Windows 10.
Esse recurso também requer as edições Professional ou Enterprise do Windows 10. Os usuários do Windows 10 Home não poderão usar o Desktop App Converter. A partir do build 14316, ele só funcionava no Windows 10 Enterprise, mas o suporte para o Windows 10 Professional está chegando. Atualmente, essa ferramenta só pode ser usada em versões de 64 bits do Windows, e o pacote AppX resultante só pode ser instalado em versões de 64 bits do Windows. Isso mudará em futuras compilações do Insider do Windows 10.
Os aplicativos resultantes são destinados a PCs com Windows 10. Eles não funcionarão com smartphones Windows 10 Mobile, Xbox One, HoloLens, Surface Hub e outras plataformas do Windows 10 que executam aplicativos UWP. No entanto, se você for um desenvolvedor, a Microsoft oferece um caminho para colocar seu aplicativo de desktop em um aplicativo UWP de plataforma cruzada: “Se você optar por mover todas as funcionalidades de seu aplicativo da partição de confiança total do aplicativo para o partição do contêiner de aplicativos, seu aplicativo poderá ser executado em qualquer dispositivo Windows 10. ”
No entanto, alguns tipos de comportamento de aplicativos não são suportados. Um aplicativo não pode exigir que ele seja executado como Administrador ou use outros tipos de acesso ao sistema de baixo nível. A Microsoft fornece uma lista de comportamentos que não são permitidos.
Como configurar o conversor de aplicativos da área de trabalho
Supondo que você esteja usando uma versão nova do Windows 10 Insider Preview, é possível fazer o download e instalar o Desktop App Converter no site do desenvolvedor da Microsoft. Faça o download dos arquivos DesktopAppConverter.zip e BaseImage-14316.wim. Extraia o arquivo DesktopAppConverter.zip baixado para uma pasta no seu computador e coloque o arquivo BaseImage no mesmo diretório. (Se houver uma nova versão do Windows 10 disponível, você deverá ver um novo arquivo BaseImage. Você precisará usar o arquivo BaseImage com o mesmo número de versão da sua versão instalada do Windows 10.)
Você também precisará baixar e instalar o SDK do Windows 10.
Em seguida, abra uma janela do PowerShell como administrador. Para fazer isso, abra o menu Iniciar, pesquise por "PowerShell", clique com o botão direito no atalho e selecione "Executar como administrador".
Altere a política de execução do PowerShell executando o seguinte comando. Concordar com a mudança digitando y
depois.
Bypass Set-ExecutionPolicy
Execute o comando abaixo, substituindo C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
com o caminho para o diretório em seu computador:
cd -Path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
Configure o Conversor de aplicativos da área de trabalho executando o seguinte comando:
.\ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim
Se você for solicitado a reiniciar durante a execução de qualquer um desses comandos, reinicie o computador e execute o comando novamente.
Como converter um aplicativo de desktop
Agora você pode executar o DesktopAppConverter.ps1
script de uma janela do PowerShell do administrador para converter um aplicativo da área de trabalho em um aplicativo UWP em um único comando. Você precisará do instalador do aplicativo para fazer isso. Por exemplo, vamos usar o VLC aqui.
Para visualizar a lista detalhada de opções, você pode executar o seguinte comando a qualquer momento:
get-help. \ DesktopAppConverter.ps1 -detailed
Aqui está um comando que você pode usar e ajustar para o seu aplicativo:
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Destino C: \ Output \ MyApp -PackageName "MyApp" - Editor "CN =" -versão 0.0.0.1 -MakeAppx -Verbose
Você precisará ajustar o comando para adicionar seu próprio nome de editor, versão, nome do pacote e apontá-lo no arquivo de instalação e no diretório de destino de sua preferência. o -InstallerArguments "/ S"
opção aqui passa o / S
alternar para o instalador, o que faz com que muitos instaladores de aplicativos sejam instalados silenciosamente sem nenhuma entrada do usuário. Os aplicativos devem ser instaláveis sem qualquer entrada do usuário ou você não pode convertê-los.
O instalador do aplicativo deve estar em seu próprio diretório sem nenhum outro arquivo, pois os arquivos no mesmo diretório do instalador serão copiados no pacote .appx resultante..
Por exemplo, estamos usando o VLC aqui, então aqui está o 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" -Destino C: \ Output \ VLC -PackageName "VLC" -Publisher "CN = VideoLAN" -versão 0.2.2.2 -MakeAppx -Verbose
A ferramenta lhe dará um pacote .appx, que é a versão UWP do aplicativo.
Como instalar o aplicativo sem assiná-lo
Normalmente, você precisa assinar aplicativos com uma assinatura válida antes que eles possam ser instalados. A Microsoft recomenda criar um certificado autoassinado e assinar o aplicativo com isso no seu computador. Você pode fazer isso usando as instruções abaixo, se quiser.
No entanto, se você quiser apenas instalar o aplicativo em seu próprio computador, poderá fazer isso sozinho, sem mexer nas assinaturas. O Windows 10 permite que você instale aplicativos sem assiná-los se estiver instalando um aplicativo "não empacotado" de um diretório.
Para fazer isso, abra uma janela do PowerShell como Administrador e execute o seguinte comando:
Add-AppxPackage -Path C: \ Path \ para \ AppxManifest.xml -Register
Você encontrará o arquivo AppxManifest.xml ao lado do arquivo Application.appx no diretório de saída especificado.
Agora você pode iniciar o aplicativo no menu Iniciar. Será um "aplicativo do Windows" em vez de um "aplicativo de desktop", mas, caso contrário, ele será exibido e funcionará como um aplicativo de desktop normal.
Como assinar e instalar o aplicativo
Você não precisa seguir estas instruções se já tiver instalado o aplicativo. Essa é a maneira mais difícil.
Normalmente, você só pode instalar um pacote .appx se ele tiver uma assinatura válida. A Microsoft recomenda o uso do aplicativo signtool.exe incluído no SDK do Windows 10 para criar um certificado autoassinado, que permitirá a instalação e o teste do aplicativo em seu próprio computador..
Basta abrir uma janela do Prompt de Comando como Administrador e executar os seguintes comandos para criar um certificado autoassinado e assinar o pacote .appx com ele:
cd "C: \ Arquivos de programas (x86) \ Windows Kits \ 10 \ bin \ x64"
MakeCert.exe -r -h 0 -n "CN = Publicador" -eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer
pvk2pfx.exe -pvk my.pvk -spc my.cer -pfx my.pfx
signtool.exe assinar -f my.pfx -fd SHA256 -v C: \ Caminho \ para \ application.appx
Observe que o editor que você especifica é o "CN = Publicador"
-deve corresponder ao editor que você especificou anteriormente ao criar o arquivo AppX. Então, continuando com o nosso exemplo VLC de cima, teríamos que usar "CN = VideoLAN"
.
Você será solicitado a digitar uma senha. Você pode deixar a senha em branco.
Agora você pode instalar o pacote .appx em uma janela do PowerShell (Administrador) com o comando Add-AppxPackage:
Add-AppxPackage C: \ Path \ to \ application.appx
Esse recurso pode ser usado por qualquer pessoa, mas apenas desenvolvedores - e talvez alguns administradores de sistemas - vão querer seguir esse caminho. Felizmente, o processo é extremamente fácil para desenvolvedores.