Licensing and deploying solutions  

Deployment

This topic is relevant for the following:
Product(s): ArcGIS Engine
Version(s): 9.2, 9.3
Language(s): C#, C++, Java, VB6, VB.NET, VC++
Experience level(s): All



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:

  1. Deploying ArcGIS Engine Runtime
  2. Deploying custom applications
  3. Copy protection and software authorization for end users

Deploying ArcGIS Engine Runtime

The ArcGIS Engine Runtime must be installed on every end user machine to which a custom application is deployed. As a purchaser of the ArcGIS Engine Developer Kit, 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 ArcGIS Engine Developer Kit. Once you had installed the software, a Software Authorization Wizard opened. It asked that you navigate to the authorization file (.ecp) 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 three categories:

The following sections discuss the software authorization process for each of these three 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 necesssary.

    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.

  4. 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 (.ecp) 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 \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.

User has no direct involvement with ESRI

Use restrictions

Although the redistribution of authorization files within your application is documented here, there are restrictions upon its use:

• If your application will be used solely within your organization, you can redistribute in this manner. However, you cannot distribute it in excess of the number of licenses you have purchased.

• If the application will be used or sold to a third party, use of a 'redistributed' authorization file violates the standard ESRI Software Master License Agreement, and an individual contract must be negotiated. Contact the ESRI Business Partner Group or your international distributor for information on such licensing.

For additional information on your right to use and deploy ArcGIS Engine applications, see footnotes 12 and 23 of the ESRI Software Master License Agreement.

The final type of end user has no direct contact with ESRI. Instead your application calls the SoftwareAuthorization.exe file or the AoAuthorizeLicense object, contained in your installation program or application, to unlock the functionality of the ArcGIS Engine.


See the IAuthorizeLicense API Reference for more information.

This would require that you hard code the authorization keycode into your program. The advantage of this method is that the software will be authorized silently and does not require prompting your user for any registration information. In this case, 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 required by your application.

  2. You purchase the necessary redistributable ArcGIS Engine Runtime product and any needed extensions (3D, Geodatabase, Spatial, and so on), as determined in the previous step.

  3. You register the ArcGIS Engine product and extensions, if necessary, with ESRI (http://service.esri.com).

  4. You receive a redistributable authorization file (.ecp) and add its features to the code for your application.

  5. Your client installs your custom-built ArcGIS Engine application. This:

    • Installs ArcGIS Engine Runtime software

    • Automatically runs the Software Authorization Wizard or uses the coclass AoAuthorizeLicense and the IAuthorizeLicense interface it implements

    To run the SoftwareAuthorization tool from within your application's installation program, use the following argument:

    /LIF <filename> /S

    The /S triggers the tool to run silently with no user interface displaying.

  6. Upon application startup, 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. The custom setup itself installs and authorizes the ArcGIS Engine Runtime software so the end user has no contact with ESRI.