Criando seu primeiro Live Tile com Delphi XE3 – Parte 1

Introdução

Neste artigo vou mostrar como criar um Live Tile para Windows 8 utilizando o suporte nativo do Delphi XE3 para a nova interface do Windows 8. Em linhas gerais, Live Tiles são as peças principais da nova tela inicial do Windows 8, concebida sob o novo padrão de interface chamado inicialmente de Windows Metro (de Metropolis) e renomeada antes de seu lançamento para Windows 8 Modern UI (devido questões de patentes referentes a nomenclatura Metro).

Preparando o Ambiente

Para desenvolver e testar seu Live Tile você precisará de:

  1. Sistema rodando Windows 8 (versão final)
  2. Windows 8 SDK instalado (http://msdn.microsoft.com/windows/desktop/aa904949)
  3. Habilitar o Sideloading para aplicações baseadas no Windows Runtime
  4. Criar um certificado de desenvolvedor (free)
  5. Adquirir uma licença de desenvolvedor para Windows 8 (free)
  6. Instalar o LaunchAgentHost e o Metropolis Service

Habilitando o Sideloading no Windows 8

Sideloading é uma técnica que permite instalar aplicações baseadas no Windows Runtime diretamente da linha de comando, sem que ela necessite estar disponível no Windows Store (a loja de aplicativos do Windows). Para tal faz-se necessário alterar uma diretiva padrão de segurança do Windows 8 permitindo assim a instalação manual de uma aplicação deste tipo. Siga os seguintes passos:

– Abra a janela “Run” do Windows (tecla Windows + R) e execute o Group Policy Editor:

– Navegue para Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components > App Package Deployment:

-Altere a propriedade Allow all trusted apps to install para Enabled:

Criando um certificado de desenvolvedor

Será necessário assinar seu Live Tile antes de distribuí-lo, e para fins de desenvolvimento e testes você pode criar um Self-Signed Certificate seguindo os seguintes passos:

– Crie um novo arquivo texto com o seguinte conteúdo, salvando-o como “makecerts.bat”

@echo off
if not exist "%1.pvk" (

echo Making Root CA
makecert.exe -n "CN=%1" -r -sv "%1.pvk" "%1.cer"

echo Making Root CRL
makecert.exe -crl -n "CN=%~1" -r -sv "%~1.pvk" "%~1.crl"

echo add to currentUser
makecert.exe -sk "%1" -iv "%1.pvk" -n "CN=%1" -ic "%1.cer" -sr currentuser -ss My

echo Installing Root CA
certmgr.exe -add "%~1.cer" -s -r currentUser root
certmgr.exe -add "%~1.cer" -s -r localMachine root

echo Installing Root CRL
certmgr.exe -add "%~1.crl" -s -r currentUser root
certmgr.exe -add "%~1.crl" -s -r localMachine root

) else (
	echo certificates already exist, skipping creation of self-signed certificates
)

– Abra um prompt de comando como Administrador e navegue para “C:Program Files (x86)Windows Kits8.0binx86”;

– Execute o batch criado acima passando como parâmetro o nome do certificado que deseja criar, por exemplo “mycert.test”. Será solicitado que você entre com uma senha para este certificado por três vezes, repita a mesma senha todas as vezes que solicitado;

Adquirindo (ou aceitando) uma licença de desenvolvimento para Windows 8

Também é preciso dizer ao Windows 8 (e a Microsoft) que você aceita os termos de licença de desenvolvimento para Windows 8. Para tal execute o seguinte comando, em um prompt com direitos de Administrador:

> powershell -Command Show-WindowsDeveloperLicenseRegistration

Será necessário entrar com um Windows Live ID e aceitar os termos da licença.

Instalando o LaunchAgentHost e o Metropolis Service

– Crie uma chave de registro (vazia) com o seguinte nome: “HKEY_LOCAL_MACHINESOFTWAREWow6432NodeEmbarcaderoMetropolis”

– Adicione o LaunchAgentHost (Embarcadero.Metropolis.LaunchAgentHost.exe)  no Startup do seu Windows. Este aplicativo está  instalado por padrão em <BDS>binlivetile, portanto crie um atalho para ele e adicione no Startup do sistema para que o mesmo seja carregado todas as vezes que o sistema reiniciar. Execute o atalho e verifique se o Metropolis launcher aparece na bandeja de seu Windows;

– Instale o Metropolis Service (Embarcadero.Metropolis.ServiceHost.exe). Para tanto, abra um prompt de comando como Administrador, vá para <BDS>binlivetile e execute o comando “InstallTileSvc /install“. Para verificar se o serviço foi corretamente instalado, procure na lista de serviços de seu Windows pelo nome “Embarcadero Metropolis Service”, o mesmo deverá estar iniciado;

Próximos passos

Na segunda parte deste artigo vamos entender como todos estes componentes se relacionam e também criar nossa primeira aplicação para o Live Tile, portanto, fiquem ligados!

Advertisements