AppCompat sem alteração de código fonte WCL303 Fabio Casado Consultor Microsoft Brasil “Preciso migrar as estações de trabalho para o Windows 7 mas tenho aplicações muito velhas que não sei se funcionarão, algumas delas nem devo ter mais o código-fonte e se tiver que alterar os aplicativos será um problema, a equipe de desenvolvimento tem outras prioridades e vamos levar anos para tornar todas as aplicações compatíveis. Estamos perdidos!!!” Visão Geral e Cenários Temos diversas técnicas de remediação Utilizar Shims Modificar políticas ou configurações Utilizar tecnologias de virtualização: MED-V ou XPMode Alterar o código-fonte Lembre-se de racionalizar as aplicações antes de testá-las Quanto menos aplicações tiver no escopo, mais barato fica seu projeto Organizando um projeto de AppCompat Elabore um projeto de compatibilidade Descubra as aplicações da empresa e priorize-as Elabore um plano de Migração e Implantação Faça os testes de compatibilidade Compatibilize Compatibilize as as aplicações aplicações com problemas com problemas Principais Diferenças entre as versões do Windows Versão do Windows (6.1) Todos executam como “Usuário Comum” Famoso UAC – User Account Control Mesmo o “admin” executa como “usuário comum” Maior causador de problemas de compatibilidade Isolamento da Sessão 0 Windows Resource Protection (WRP) Principais Diferenças entre as versões do Windows (cont.) Mudança dos nomes das pastas (Program Files, MyDocuments, etc.) Virtualização das Pastas e Registro Novo esquema de cores - Aero Versão mínima do IE: 8 Padrões de Modo de Documento Modo Protegido (IE Protected Mode) Como o Shim funciona Shimmed Import Function Export Function Application Windows Shim DLL Demonstrações Instalando o Shim: sdbinst -q -u -g -n Quiet mode Uninstall Guid (uninstall only) Internal name (uninstall only) Mitos e Verdades sobre AppCompat Aplicações feitas em .NET não necessariamente estão compatíveis. Aplicações feitas em linguagens não-Microsoft não necessariamente terão problemas. É possível usar Shim em programas feitos em qualquer linguagem Aplicações em VB6 ou outra tecnologia “antiga” não necessariamente terão problemas. Windows 7 não possui o runtime do VB5. Apesar de não suportado mais, basta instalar o runtime que a aplicação poderá funcionar. Aplicações 16 bits funcionam no Win7 32 bits e Não funcionam na versão 64 bits. Como fica o suporte para VB6 http://msdn.microsoft.com/en-us/vbasic/ms788708.aspx Conheça todas as diferenças Windows Vista Compatibility Cookbook http://www.microsoft.com/downloads/details.aspx?FamilyId=69 C63073-FE3F-47C3-BAA5-B37943AFE227&displaylang=en Windows 7 and Windows Server 2008 R2 Application Quality Cookbook http://msdn.microsoft.com/en-us/library/dd371778(VS.85).aspx Blogs Blog de Compatibilidade da MCS Brasil: http://blogs.msdn.com/compatibilidade Chris Jackson http://www.appcompatguy.com/ Aaron Margosis http://blogs.msdn.com/b/aaron_margosis/ Quais são as boas práticas? Windows 7 Software Logo Program http://msdn.microsoft.com/en-us/windows/dd203105.aspx Get the free mobile app for your phone http:/ / gettag.mobi http://technet.microsoft.com/pt-br Get the free mobile app for your phone http:/ / gettag.mobi http://msdn.microsoft.com/pt-br Não esqueça de preencher sua avaliação online www.teched.com.br/avaliacao Get the free mobile app for your phone http:/ / gettag.mobi © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.