do SDK - Suporte 64 Bit - Publisher Policy Files - Mudanças nome de produto (10.1) • Runtime Binding ( Aplicações Standalone ) • Mudanças no registro de componentes • Workflow para migração • Novas opções para customização - Add-ins - Python - ArcGIS Runtime • Migração VBA/VB6 • FAQ (Perguntas e Respostas) e Dicas rápidas
Instalado com o Engine ou Desktop .NET Framework 4.0 completamente suportado (10.1) - requer instalação independente Interop types não são mais necessários
de 32 bit - Rodam como aplicações 32 bit em SO's 64 Bit • Aplicações Standalone - Compilar para plataforma x86 (padrão VS é “Any CPU”) • ArcGIS 10 já é Large Address Aware - Pode utilizar até 4 GB de RAM (se disponível) em SO's 64 bit
de assembly's - Incluído nas versões anteriores • Desktop inclui um arquivo de configuração - Redireciona os assemblies do 9.3.x para o 10 - Apenas para auxiliar na migração • Recomenda-se que todas as aplicações sejam recompiladas (tanto para o 10.0 quanto para o 10.1)
possui seu próprio runtime - Cada aplicação tem seu próprio local de instalação - Service pack separados • ArcObjects deve ser, obrigatoriamente, apontado para um runtime - Requerido para todas as aplicações standalone - Obrigatório fazer “bind” antes de qualquer chamada ArcObjects - Aplicações “Engine” podem fazer “bind” para runtime “Desktop” ou “Engine” • Importante - Binding não é licenciamento - Ainda e necessário utilizar uma licença
ESRI.ArcGIS.Version • Utilizar classe estática RuntimeManager - Chamar ESRI.ArcGIS.RuntimeManager.Bind passando o código do produto que deseja utilizar - Também é possível utilizar o método BindLicense que realiza o “Bind” e também chama o AoInitialize (licença) • Recomendado efetuar o “Bind” no método main(c#)/evento startup(VB.NET) - O assembly chama-se ESRI.ArcGis.Version - O namespace chama-se Esri.ArcGis
o ArcGIS 'descobria' quais customizações ele deveria carregar baseado na categoria que o componente estava registrado (registro do Windows) • No ArcGIS 10 as categorias de componentes NÃO são mais obtidas no registro • Essas informações são agora obtidas em arquivos de configuração (*.eecfg)
em COM - Obrigatório registrar como componente COM • Utilizar o utilitário ESRIRegAsm.exe para: - Registrar o componente COM - Criar o arquivo ECFG no local apropriado Engine: %CommonProgramFiles%\ArcGIS\Engine10.0\Configuration\CATID \ArcGIS\Engine10.1\Configuration\CATID Desktop: %CommonProgramFiles%\ArcGIS\Desktop10.0\Configuration\CATID \ArcGIS\Desktop10.1\Configuration\CATID • Sugestão em tempo de desenvolvimento - Adicionar um “custom build step” no seu projeto .NET para realizar a chamada ao utilitário
na maquina alvo - ESRIRegAsm.exe <MyDll.dll> /p:<Product> * Utillitário é sempre instalado pelo ArcGIS no caminho %CommonProgramFiles%\Common Files\ArcGIS\bin Opção 2: - Registrar o componente COM normalmente - Copiar o arquivo ecfg para o local apropriado Engine: %CommonProgramFiles%\ArcGIS\Engine10.0\Configuration\CATID \ArcGIS\Engine10.1\Configuration\CATID Desktop: %CommonProgramFiles%\ArcGIS\Desktop10.0\Configuration\CATID \ArcGIS\Desktop10.1\Configuration\CATID
está incluído no ArcObjects SDK - Gera um relatório com avisos que auxiliam na migração para o 10 • Acertar as mudanças nos Assemblies (Marcar “specific version” para “false”) • Adicionar novo passo para o registro dos componentes • Aplicações Standalone devem adicionar o código para o “Bind” do runtime (10.1) • Atualizar códigos que utilizam as enumerações que mudaram
• Disponível em Java\.NET e Python (10.1) • Empacotado em um arquivo *.esriaddin(zip file) • Deploy pode ser feito com um simples Xcopy • Instalação com duplo clique • Instalação por usuário • Não requer permissões administrativas • Pode ser assinado digitalmente • Instalação pode ser controlada por administrador • Pode ser disponibilizado em um diretório compartilhado na rede
• Pacote ArcPy - Automation of GIS mapping functionality - Geoprocessing / Printing and Exporting - Manipulate Map Document and Layer Files - Automate Map Book creation / Automation of GIS analysis - Python API for Spatial Analyst and GeoStatistical Analyst * Add-Ins em Python (10.1) • Um mesmo script pode rodar no - Desktop - Engine - Server - Windows / Linux
simples (app, maps e data) - Suporte a 64 bit nativo - API modernas (WPF and JAVA) - Footprint de Memoria e espaço em disco reduzidos Mas atenção... - Não é equivalente funcionalmente ao Engine - Não é um substituo para o ArcObjects - Novas API's - Código deverá ser reescrito - Representa um novo padrão para compatilhamento\distribuição
Compatibility Setup - Requer solicitação de licença - Sem suporte e sem SDK • Esri recomenda a migração das aplicações VBA para um dos ambientes de desenvolvimentos suportados atualmente • Para onde um desenvolvedor VBA deve ir? - Python - Add-Ins
na versão 10 - Não possui mais um SDK para VB6 - VB6 runtime não é instalado com o ArcGIS • Componentes VB6 não são bloqueados - Podem ser registrados para auxiliar na migração - Recomenda-se testar muito bem para se certificar que funcionam
em todas as maquinas? Sim. Todas as instalações de Desktop e Engine instalam o utilitário. • Houve alguma mudança no registro de componentes entre o 10.0 e 10.1? Não. As mesmas regras se aplicam a ambas versões incluindo a necessidade do “Bind” • Tenho que me preocupar com a duplicação dos arquivos .ecfg? Não. Como são baseados em GUID's, na teoria eles nunca se duplicam. • Tenho que recompilar minhas aplicações a cada nova versão 10.x? A recomendação é sempre recompilar. • Existe algo similar as macros VBA? Não. O mais próximo disso são scripts Python que podem ser criados\testados interativamente. • Existe algum roadmap para que o ArcGIS Desktop seja 64 bits? Não. Ainda existem muitas dependências de 32 bits e isso ainda irá levar um certo tempo para ser alterado.
sempre recomendado trabalhar com “Option Explicit” e “Option Strict”. Isso pode ajudar a evitar a descoberta de problemas apenas em tempo de execução. • É possível utilizar o utilitário Categories.exe para converter componentes existentes para o novo formato. • Add-In é a forma existente para que você não tenha que se preocupar com registro e afins.