Deployment


To successfully deploy custom applications to end user machines, ArcGIS Engine Runtime will need to be installed, the custom application will need to be installed, and ArcGIS Engine Runtime may need to be software authorized depending on the current machine license configurations.

In this topic


Deploying ArcGIS Engine Runtime

The ArcGIS Engine Runtime must be installed on every end user machine to which a custom application is deployed. As an ArcGIS Engine developer, you can freely distribute ArcGIS Engine Runtime, either on a CD or within your custom application's installation program. See 'Installing ArcGIS Engine Runtime on Windows, Solaris, and Linux', for further details on installing ArcGIS Engine Runtime.
You may not need to install the ArcGIS Engine Runtime on an end user machine that has ArcGIS Desktop installed. If the .NET Framework and JRE were installed on the machine before ArcGIS Desktop was installed, the .NET and Java features required by a custom ArcGIS Engine application developed using the .NET or Java API's will have been installed automatically by the ArcGIS Desktop install.

Deploying custom applications

The method used to create a setup for the custom application will have been decided on at the beginning of the development project and will depend on your organization, the end user requirements, and any previous experience you have of creating setups. The custom setup may use Microsoft Windows Installer (MSI) technology, may be a scripted setup, or may simply be a batch file that is distributed on a CD to the end user.
The following is an example of a batch file that installs both the ArcGIS Engine Runtime and a custom application from setups on a CD, then launches the Software Authorization Wizard for the end user.

Copy protection and software authorization for end users

The final step in developing and deploying ArcGIS Engine applications is to ensure that all client machines have the correct license configuration to support your ArcGIS Engine application. This section details the various ways end users and developers can authorize the ArcGIS Engine Runtime components on client systems.
Software authorization is the process of unlocking the underlying ArcGIS Engine Runtime software components. As a developer, you did this yourself when you installed and set up the ArcObjects Software Development Kit (SDK). Once you had installed the software, a Software Authorization Wizard opened. It asked that you navigate to the authorization file (.prvc) that had been issued to you when you registered the product. Only after the authorization file was read and accepted were you able to design and run applications that use ArcGIS Engine components. All deployed applications must be authorized in a similar manner, although there are a number of different ways to achieve authorization.
Every application you build and deploy must first initialize itself with a suitable license.
License initialization must be built into your application. For more information, see the Application development and license initialization topic.
The store of suitable licenses that your application initializes itself against are contained within the software authorization or keycode file, whichever is applicable, on the client machine or network. If your application attempts to initialize against a license that is not contained in the authorization file or if all instances of the required license have been checked out, then your application will not be able to run.
You, as the developer, must think in advance about how your clients will acquire and access an authorization or keycode file suitable to run your application. Your clients may fall into two categories:
  • Licensed ArcGIS Desktop users who have access to the license features that your application uses.
  • Those who will acquire the ArcGIS Engine Runtime software or its authorization, or both directly from ESRI.
The following sections discuss the software authorization process for each of these user types.

ArcGIS Desktop users

If your client is a licensed ArcGIS Desktop user, you and your client would go through the following process to install and run an application that you built:
  1. You review and confirm licensing requirements of your application—ArcView, ArcEditor, or ArcInfo (single use or concurrent) along with any necessary extensions.
  2. Your client confirms they have the applicable ArcGIS Desktop authorization or keycode files available for use with your application, as determined in the previous step.
  3. You or your client installs the custom ArcGIS Engine application, together with the ArcGIS Engine Runtime if necessary.
You may not need to install the ArcGIS Engine Runtime on an end user machine that has ArcGIS Desktop installed. If the .NET Framework and JRE were installed on the machine before ArcGIS Desktop was installed, the .NET and Java features required by a custom ArcGIS Engine application developed using the .NET or Java API's will have been installed automatically by the ArcGIS Desktop install.
See the topic Installation of ArcGIS Engine Runtime for testing for more details on installing the ArcGIS Engine Runtime.
  1. Upon application startup, the application initializes itself and checks out an available license from the client's previously existing authorization or keycode file.

User acquires ArcGIS Engine Runtime directly from ESRI

The second type of end user purchases and authorizes, the ArcGIS Engine Runtime software. You and your client would go through the following process to install and run an application that you built:
  1. You review and confirm the licensing requirements of the application.
  2. Your client purchases ArcGIS Engine Runtime and any needed extensions (3D, Geodatabase, Spatial, Network, and so on), as determined in the previous step.
  3. Your client registers the ArcGIS Engine product and extensions, if necessary, with ESRI (http://service.esri.com).
  4. Your client receives an authorization file (.prvc) from ESRI and saves it to their computer.
  5. Your client installs the ArcGIS Engine Runtime software.
  6. Once the installation is complete, your client opens the Software Authorization Wizard.
    • On Windows, your client navigates to the \Common Files\ArcGIS\bin folder and runs the SoftwareAuthorization.exe file it contains.
    • On Solaris and Linux, your client navigates to the \ArcGIS folder and runs the AuthorizeSoftware file it contains.
  7. When asked by the Software Authorization Wizard, your client navigates to the location of their authorization file.
  8. You or your client installs your custom ArcGIS Engine application.


  9. Upon application start-up, the application initializes itself and checks out an available license from the client's authorization file.
The custom application is deployed to an end user machine that does not have the ArcGIS Engine Runtime installed. This is the easiest deployment method for the developer because the end user must install, register, and authorize the ArcGIS Engine Runtime software.