Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine...

41
Deploying Desktop Applications Deploying Desktop Applications Dara Hughes Dara Hughes Mita Shah Mita Shah ESRI Developer Summit 2008 Tech Session ESRI Developer Summit 2008 Tech Session 1 1

Transcript of Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine...

Page 1: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Deploying Desktop ApplicationsDeploying Desktop Applications

Dara HughesDara HughesMita ShahMita Shah

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 11

Page 2: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

AgendaAgenda

•• IntroductionIntroduction•• Workflow for Developing and Deploying ApplicationsWorkflow for Developing and Deploying Applications•• Licensing and Copy ProtectionLicensing and Copy Protection•• Authorizing ArcGIS Engine ApplicationsAuthorizing ArcGIS Engine Applications•• Planning for your DeploymentPlanning for your Deployment•• Creating a Deployment PackageCreating a Deployment Package

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 22

Page 3: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 33

WebWebBrowsersBrowsers

GIS LogicGIS LogicEmbedded inEmbedded inApplicationApplication

CustomCustomApplicationsApplications

GISGISDesktopDesktop

ArcGIS EngineArcGIS Engine

Simple, focused functionsSimple, focused functions Full GIS functionsFull GIS functions

Page 4: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 44

ArcGIS EngineArcGIS Engine

•• ArcGIS Engine RuntimeArcGIS Engine Runtime–– The platform for running cross platform custom desktop The platform for running cross platform custom desktop

solutions built with the Engine Developer Kitsolutions built with the Engine Developer Kit

•• ArcGIS Engine Developer KitArcGIS Engine Developer Kit–– The toolkit for building and deploying custom desktop The toolkit for building and deploying custom desktop

ArcObjectsArcObjects--based solutions (COM, .NET, Java, C++)based solutions (COM, .NET, Java, C++)

Page 5: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 55

ArcGIS Engine Developer KitArcGIS Engine Developer Kit

•• Engine ArcObjects support forEngine ArcObjects support for–– COM, .NET, Java, and C++COM, .NET, Java, and C++

•• Developer controlsDeveloper controls•• Developer resourcesDeveloper resources

–– Help, doc, samples, etc.Help, doc, samples, etc.

•• The rights to reThe rights to re--distribute the distribute the Engine Runtime setupEngine Runtime setup

Product for DevelopersProduct for Developers

Page 6: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Workflow for Developing and Deploying Workflow for Developing and Deploying ApplicationsApplications

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 66

Page 7: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Workflow for Developing and DeployingWorkflow for Developing and Deploying

•• Install ArcGIS Engine RuntimeInstall ArcGIS Engine Runtime•• Install ArcGIS Engine Developer KitInstall ArcGIS Engine Developer Kit•• Build application Build application •• Test and DeployTest and Deploy

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 77

Dev MachineDev Machine

(Engine Devkit (Engine Devkit + Engine + Engine Runtime)Runtime)

Clean Testing MachineClean Testing Machine

(Engine Runtime + Your app Install)(Engine Runtime + Your app Install)

User MachineUser Machine

(Engine Runtime + Your app)(Engine Runtime + Your app)

Page 8: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 88

ArcGIS Engine Development ProcessArcGIS Engine Development Process

•• Determine the type of applicationDetermine the type of application•• Consider licensing as part of your initial designConsider licensing as part of your initial design•• Develop the application functionalityDevelop the application functionality•• Create and author data and mapsCreate and author data and maps

Page 9: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Licensing versus Copy ProtectionLicensing versus Copy Protection

These are not synonymous terms!!!These are not synonymous terms!!!

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 99

Page 10: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1010

LicensingLicensing

•• Describes Describes legallegal rules for software productrules for software product––End user right to useEnd user right to use

•• Use right definitionsUse right definitions

––License termLicense term•• Perpetual, Term + renewal, Annual (subscription)Perpetual, Term + renewal, Annual (subscription)

––Termination rulesTermination rules

Page 11: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1111

Copy ProtectionCopy Protection

•• Mechanism to enforce (or reMechanism to enforce (or re--enforce) enforce) license terms for right to uselicense terms for right to use––Technology Enforcement ModelsTechnology Enforcement Models

•• Shared enablement pools (Concurrent Use or Shared enablement pools (Concurrent Use or Floating)Floating)

•• Single enablement (Single Use)Single enablement (Single Use)•• Time outTime out

––License Enforcement ModelLicense Enforcement Model•• ““PaperPaper”” copy protectioncopy protection

–– No technology enforcement No technology enforcement -- honor systemhonor system–– ““Copy rightsCopy rights”” as defined in the license agreementas defined in the license agreement

Page 12: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1212

Copy Protection Copy Protection

•• ESRI Copy Protection (ECP)ESRI Copy Protection (ECP)unlocks ArcObjectsunlocks ArcObjects

•• Purchase ArcGIS Engine Developer KitPurchase ArcGIS Engine Developer Kit•• ECP Registration Number (eECP Registration Number (e--mail or letter)mail or letter)

•• No hardware key or license managerNo hardware key or license manager

•• Register product with ESRI Customer ServiceRegister product with ESRI Customer Service•• Customer Service web siteCustomer Service web site•• Phone or faxPhone or fax•• Software Authorization WizardSoftware Authorization Wizard

Page 13: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1313

ArcGIS Engine Copy Protection ArcGIS Engine Copy Protection ––Designer License (Design Time License)Designer License (Design Time License)•• Codes in the .ecp fileCodes in the .ecp file

–– designer designer –– standardenginestandardengine–– gdbeditgdbedit–– streetmapenginestreetmapengine–– networkenginenetworkengine–– spatialenginespatialengine–– 3dengine3dengine

•• Designer license feature allows you to Designer license feature allows you to ““designdesign”” and and ““developdevelop”” ArcGIS Engine applicationsArcGIS Engine applications

•• All levels of functionality are available for developmentAll levels of functionality are available for development

Page 14: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1414

Authorization Summary ToolAuthorization Summary Tool

•• Tool to check what is authorized on your systemTool to check what is authorized on your system

Page 15: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Authorizing ArcGIS Engine ApplicationsAuthorizing ArcGIS Engine Applications

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1515

Page 16: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1616

ArcGIS Product LevelsArcGIS Product Levels

•• ArcGIS Engine and Desktop ArcGIS Engine and Desktop are functionally similarare functionally similar

•• Two levelsTwo levels–– ProductProduct

•• ArcView, ArcEditor and ArcView, ArcEditor and ArcInfoArcInfo

•• Engine standard and Engine standard and GDB UpdateGDB Update

–– ExtensionExtension

•• Spatial, 3D, Network, Spatial, 3D, Network, ……

Desktop

Extensions

ArcSDE Edit ArcEditor

GeodatabaseUpdate

Ext

Standard ArcView StandardEngine

3D…3DAnalyst…

Engine Runtime

Page 17: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1717

ArcGIS Engine Runtime InitializationArcGIS Engine Runtime Initialization

•• All applications must initialize a product license at All applications must initialize a product license at runtimeruntime

•• LicenseControlLicenseControl•• Use esriSystem::AoInitialize Use esriSystem::AoInitialize •• Product codes availableProduct codes available

–– ArcViewArcView–– ArcEditorArcEditor–– ArcInfoArcInfo–– Engine Engine –– EngineGeoDBEngineGeoDB

Private m_pAoInitialize As IAoInitialize

Private Sub Form_Load()Set m_pAoInitialize = New AoInitializem_pAoInitialize.Initialize esriLicenseProductCodeEngine

End Sub

Private Sub Form_Unload(Cancel As Integer)

m_pAoInitialize.Shutdown

End Sub

Private m_pAoInitialize As IAoInitialize

Private Sub Form_Load()Set m_pAoInitialize = New AoInitializem_pAoInitialize.Initialize esriLicenseProductCodeEngine

End Sub

Private Sub Form_Unload(Cancel As Integer)

m_pAoInitialize.Shutdown

End Sub

Page 18: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1818

ArcGIS Engine Runtime Initialization: ExtensionsArcGIS Engine Runtime Initialization: Extensions

•• Applications can also initialize an extension licenseApplications can also initialize an extension license•• Extension codes availableExtension codes available

–– 3DAnalyst, SpatialAnalyst, Network, etc3DAnalyst, SpatialAnalyst, Network, etc

Page 19: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 1919

Leveraging ArcGIS Engine or Desktop Leveraging ArcGIS Engine or Desktop

•• Applications can initialize an ArcGIS Engine or Desktop Applications can initialize an ArcGIS Engine or Desktop licenselicense

•• Use IAoInitialize::IsProductCodeAvailableUse IAoInitialize::IsProductCodeAvailable•• May want to prompt the user May want to prompt the user ……

' Try to check out Engine license firstIf m_pAoInitialize.IsProductCodeAvailable(esriLicenseProductCodeEngine)

= esriLicenseAvailable Thenm_pAoInitialize.Initialize esriLicenseProductCodeEngine

' Try to check out Desktop license nextElseIfm_pAoInitialize.IsProductCodeAvailable(esriLicenseProductCodeArcView) = esriLicenseAvailable Thenm_pAoInitialize.Initialize esriLicenseProductCodeArcView

End If

' Try to check out Engine license firstIf m_pAoInitialize.IsProductCodeAvailable(esriLicenseProductCodeEngine)

= esriLicenseAvailable Thenm_pAoInitialize.Initialize esriLicenseProductCodeEngine

' Try to check out Desktop license nextElseIfm_pAoInitialize.IsProductCodeAvailable(esriLicenseProductCodeArcView) = esriLicenseAvailable Thenm_pAoInitialize.Initialize esriLicenseProductCodeArcView

End If

Page 20: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2020

Page 21: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2121

Initialization RulesInitialization Rules

•• License initialization must occur before any License initialization must occur before any ArcObjects code executesArcObjects code executes

•• A product license can be checked out only once for A product license can be checked out only once for the duration of the applicationthe duration of the application

•• Extension licenses can be checked in and out as Extension licenses can be checked in and out as necessarynecessary

•• Cannot combine or mix product and extension Cannot combine or mix product and extension licenseslicenses–– Engine RT must match Engine ExtensionsEngine RT must match Engine Extensions

•• Tip: Always attempt to consume the lowest level of Tip: Always attempt to consume the lowest level of licensing possiblelicensing possible

Page 22: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Planning For Your DeploymentPlanning For Your Deployment

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2222

Page 23: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2323

Deployment ScenariosDeployment Scenarios

1.1. End user does not have ArcGIS Engine RuntimeEnd user does not have ArcGIS Engine Runtime

2.2. End user has ArcGIS Desktop installedEnd user has ArcGIS Desktop installed

Page 24: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2424

End User Does Not Have ArcGIS Engine End User Does Not Have ArcGIS Engine RuntimeRuntime•• Runtime Installation:Runtime Installation:

1.1. End user installs from Runtime CDEnd user installs from Runtime CD2.2. You install the Runtime for the end userYou install the Runtime for the end user

•• Runtime Authorization:Runtime Authorization:1.1. End user purchase and authorizes Runtime license via ESRI End user purchase and authorizes Runtime license via ESRI 2.2. Business Partners with special contract can authorize Runtime Business Partners with special contract can authorize Runtime

for end userfor end user

•• Developer can include Engine Runtime setup files on Developer can include Engine Runtime setup files on their CDtheir CD

•• Make images of the Engine Runtime CDMake images of the Engine Runtime CD

Page 25: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2525

End user has ArcGIS Desktop installedEnd user has ArcGIS Desktop installed

•• Versions prior to 9.2 still needs ArcGIS Engine Runtime Versions prior to 9.2 still needs ArcGIS Engine Runtime installedinstalled

•• Your application will have to check for and use Your application will have to check for and use ArcGIS Desktop licensesArcGIS Desktop licenses

•• Concurrent or SingleConcurrent or Single--useruser

•• ArcView ArcView ≈≈ standard Engine Runtimestandard Engine Runtime•• ArcEditor ArcEditor ≈≈ Engine Runtime with GDB UpdateEngine Runtime with GDB Update

Page 26: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Methods to deploy Engine RuntimeMethods to deploy Engine Runtime

1.1. End user runs Engine Runtime setup directly from End user runs Engine Runtime setup directly from the CDthe CD

2.2. Developer includes Engine Runtime setup with a Developer includes Engine Runtime setup with a custom setup programcustom setup program

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2626

Page 27: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

End user installs Engine Runtime from CDEnd user installs Engine Runtime from CD

•• Developer can include Engine Runtime setup files on Developer can include Engine Runtime setup files on their CDtheir CD

•• Make images of the Engine Runtime CDMake images of the Engine Runtime CD

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2727

Page 28: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Methods to include Engine RuntimeMethods to include Engine Runtime

•• Launch with your MSILaunch with your MSI--based setupbased setup•• Launch within a scripted setupLaunch within a scripted setup•• Launch within a batch fileLaunch within a batch file

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2828

Page 29: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Developer includes Engine RuntimeDeveloper includes Engine Runtime

•• Engine Runtime can be installed silently using Engine Runtime can be installed silently using standard msiexec commandsstandard msiexec commands

-- Basic UI InstallBasic UI Installmsiexec.exe /i <setup location>msiexec.exe /i <setup location>\\Setup.msi /qbSetup.msi /qb

-- No UI InstallNo UI Installmsiexec.exe /i <setup location>msiexec.exe /i <setup location>\\Setup.msi /qnSetup.msi /qn

-- Installdir ParameterInstalldir Parametermsiexec.exe /i <setup location>msiexec.exe /i <setup location>\\Setup.msi /qn Installdir=c:Setup.msi /qn Installdir=c:\\testtest

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 2929

Page 30: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Service PacksService Packs

•• Application requires ArcGIS Engine Runtime and Application requires ArcGIS Engine Runtime and Service PackService Pack–– Include Service pack file (msp) on CDInclude Service pack file (msp) on CD

•• Launch within a batch fileLaunch within a batch file

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3030

REM Set variablesSET MSI_PATH=<CDROM>\ArcEngine\Setup.msiSET MSP_PATH=<CDROM>\ArcGISEngine92sp5.msp

REM Launch MSI Silently - NO UImsiexec.exe /i "%MSI_PATH%" /qnmsiexec.exe /p "%MSP_PATH%” /qn

Page 31: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Planning to deploy your SetupPlanning to deploy your Setup

Some other things to keep in mind Some other things to keep in mind ……

•• You can only deploy or redistribute the entire setup, You can only deploy or redistribute the entire setup, you can not bundle resources from Engine Runtime you can not bundle resources from Engine Runtime

•• Do not uninstall the Engine RuntimeDo not uninstall the Engine Runtime

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3131

Page 32: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Creating A Deployment PackageCreating A Deployment Package

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3232

Page 33: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Authoring a Setup ProgramAuthoring a Setup Program

1.1. Create the setup template Create the setup template

2.2. Add the solution files to the template.Add the solution files to the template.

3.3. Launch ConditionsLaunch Conditions

4.4. PrerequisitesPrerequisites

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3333

Page 34: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

The Setup TemplateThe Setup Template

1.1. Create the Setup IMAGECreate the Setup IMAGE

2.2. Create the Setup Template Create the Setup Template –– Product InformationProduct Information

(Name, Version, ProductCode, Default Install location etc..)(Name, Version, ProductCode, Default Install location etc..)

–– Registry KeysRegistry Keys

–– Features (optional) Features (optional)

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3434

Page 35: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Add Solution filesAdd Solution files

1.1. Add filesAdd files

2.2. Register DllRegister Dll’’s s

3.3. Add shortcutsAdd shortcuts

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3535

Page 36: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Launch ConditionsLaunch Conditions

•• Components required for the setup to run Components required for the setup to run –– such as .NET such as .NET Framework, Engine Runtime, etc.Framework, Engine Runtime, etc.

•• Registry keyRegistry key’’s to check if Microsoft .NET Framework V2.0 is s to check if Microsoft .NET Framework V2.0 is installed.installed.HKLMHKLM\\SoftwareSoftware\\MicrosoftMicrosoft\\.NETFramework.NETFramework\\PolicyPolicy\\V2.01V2.01

−− 5072750727•• Registry key to check if Engine Runtime is installed.Registry key to check if Engine Runtime is installed.

HKLMHKLM\\SoftwareSoftware\\ESRIESRI\\ArcGIS Engine RuntimeArcGIS Engine Runtime

InstalldirInstalldirRealVersionRealVersion.NET_Support.NET_Support

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3636

Page 37: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

PrerequisitesPrerequisites

Check for PreCheck for Pre--RequisitesRequisites–– Installed Product, Features and Service PacksInstalled Product, Features and Service Packs–– Registry keysRegistry keys

Engine Registry keysEngine Registry keysHKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE\\SoftwareSoftware\\ESRIESRI\\ArcGIS Engine ArcGIS Engine

RuntimeRuntime\\RealVersionRealVersionHKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE\\SOFTWARESOFTWARE\\ESRIESRI\\ArcGIS Engine ArcGIS Engine

RuntimeRuntime\\SPNumberSPNumber

−− Your setup.exe would install Engine Runtime if not Your setup.exe would install Engine Runtime if not found. (your Setup.msi would not run without it.)found. (your Setup.msi would not run without it.)

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3737

Page 38: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Installer authoring toolsInstaller authoring tools

•• The ESRI installation team uses Wise for Windows The ESRI installation team uses Wise for Windows Installer (WFWI) 7.1 for authoring Windows setupsInstaller (WFWI) 7.1 for authoring Windows setups

•• AlternativesAlternatives–– Microsoft Windows Installer SDKMicrosoft Windows Installer SDK–– Microsoft Visual StudioMicrosoft Visual Studio–– InstallShieldInstallShield–– WiX ToolsetWiX Toolset–– NullSoft Scriptable Install SystemNullSoft Scriptable Install System

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3838

Page 39: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

TestingTesting

•• Test on all supported platforms. Test on all supported platforms. •• Test on many configurationsTest on many configurations

–– Bare Operating SystemBare Operating System–– Operating System, Office and Visual StudioOperating System, Office and Visual Studio

•• Test InstallTest Install–– Test all launch conditionsTest all launch conditions

•• Dependency on ArcGIS Engine Runtime 9.3 Dependency on ArcGIS Engine Runtime 9.3 –– Diff the Installed files against source imageDiff the Installed files against source image–– Test shortcutsTest shortcuts

•• Test UninstallTest Uninstall–– Dll unregistration clean upDll unregistration clean up

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 3939

Page 40: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

ResourcesResources

•• Platform SDK DocumentationPlatform SDK Documentation–– http://www.microsoft.com/downloads/details.aspx?FamilyId=E15http://www.microsoft.com/downloads/details.aspx?FamilyId=E15

438AC438AC--60BE60BE--41BD41BD--AA14AA14--7F1E0F19CA0D&displaylang=en7F1E0F19CA0D&displaylang=en•• Appendix D of the DeveloperAppendix D of the Developer’’s Guides Guide

–– Installing ArcGIS Engine Runtime on Windows, Solaris and LinuxInstalling ArcGIS Engine Runtime on Windows, Solaris and Linux

•• EDN website (EDN website (http://edn.esri.comhttp://edn.esri.com))•• Software Deployment websitesSoftware Deployment websites

–– http://www.installsite.org/http://www.installsite.org/–– http://msdn.microsoft.com/newsgroups/default.aspx?dg=microshttp://msdn.microsoft.com/newsgroups/default.aspx?dg=micros

oft.public.platformsdk.msi&lang=en&cr=USoft.public.platformsdk.msi&lang=en&cr=US

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 4040

Page 41: Deploying Desktop Applications · Workflow for Developing and Deploying • Install ArcGIS Engine Runtime • Install ArcGIS Engine Developer Kit • Build application • Test and

Session Evaluations ReminderSession Evaluations Reminder

ESRI Developer Summit 2008 Tech SessionESRI Developer Summit 2008 Tech Session 4141

Session Attendees:Session Attendees:Please turn in your session evaluations.Please turn in your session evaluations.

. . . Thank you. . . Thank you

Please complete the session survey – we take your feedback very

seriously!