18.04.2015 Views

ArcGIS Engine Developer Guide

ArcGIS Engine Developer Guide

ArcGIS Engine Developer Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

APPLICATION DEVELOPMENT AND LICENSE INITIALIZATION<br />

As noted in the previous section, using an<br />

ArcView license with an <strong>ArcGIS</strong> <strong>Engine</strong> application<br />

will give you access to all the functionality<br />

available to a standard <strong>ArcGIS</strong> <strong>Engine</strong> license.<br />

Likewise, using an ArcEditor license with an<br />

<strong>ArcGIS</strong> <strong>Engine</strong> application that performs<br />

multiuser geodatabase editing will give you<br />

access to all the functionality available to an<br />

<strong>ArcGIS</strong> <strong>Engine</strong> license with the Geodatabase<br />

Update extension.<br />

Applications built with any of the <strong>ArcGIS</strong> controls<br />

must also adhere to this license initialization<br />

process. MapControl, PageLayoutControl,<br />

ReaderControl, TOCControl, and ToolbarControl<br />

applications require the <strong>ArcGIS</strong> <strong>Engine</strong> Runtime,<br />

ArcView, ArcEditor, or ArcInfo product licenses.<br />

Since GlobeControl and SceneControl extend<br />

core <strong>ArcGIS</strong> <strong>Engine</strong> functionality, they require a<br />

corresponding 3D extension license in addition<br />

to the core product license.<br />

different from the Desktop Concurrent Use licensing, they actually utilize the<br />

same technology. This means that there is no mechanism for you, as an <strong>ArcGIS</strong><br />

<strong>Engine</strong> developer, to differentiate between a Single Use and a Desktop Concurrent<br />

license, and hence, you would treat them the same.<br />

Once an application has been initialized with a license, it cannot be reinitialized;<br />

an application is initialized with a license for the duration of its life. For example,<br />

you can’t write an application that starts up with an ArcView license and<br />

later switches to ArcEditor.<br />

When initializing an application with a license, the following must be considered:<br />

• The types of product licenses with which the application can run. For example,<br />

an enterprise geodatabase editing application will not be able to run<br />

with an <strong>ArcGIS</strong> <strong>Engine</strong> license or an ArcView license. However, it will be<br />

able to run with an <strong>ArcGIS</strong> <strong>Engine</strong> with a Geodatabase Update extension<br />

license, an ArcEditor license, or an ArcInfo license.<br />

• The types of product licenses available to the application. For example, an<br />

application that can be run with an <strong>ArcGIS</strong> <strong>Engine</strong> license will also run with<br />

an ArcView, ArcEditor, and ArcInfo license. However, you may not want to<br />

consume an ArcInfo license with such an application.<br />

When an application is initialized with a particular product license, a connection<br />

is made to a license server. All subsequent calls to check extensions out and in are<br />

made to the same license server. As such, you cannot use a combination of licenses<br />

from different license servers or <strong>Engine</strong> Single Use.<br />

• If an application is initialized with a Desktop Concurrent license, the application<br />

will subsequently only be able to access that Desktop Concurrent license<br />

server and its extension licenses.<br />

• If an application is initialized with a Desktop Single Use license, the application<br />

will subsequently only be able to access that single-use license server and<br />

its extension licenses.<br />

• If an application is initialized with the <strong>Engine</strong> Single Use license on your<br />

machine, the application will subsequently only be able to access the <strong>Engine</strong><br />

Single Use extension licenses.<br />

It is possible before initialization has been performed to query the license servers<br />

(Desktop Concurrent or Single Use) and <strong>Engine</strong> Single Use to see if the licenses<br />

you require are available. If all the licenses you require are available using <strong>Engine</strong><br />

Single Use, then it is recommended you use it instead of the Desktop Concurrent<br />

and Desktop Single Use licenses. This means you will not limit the Desktop<br />

Concurrent licenses available to any other users.<br />

THE INITIALIZATION PROCESS<br />

The initialization of an application with a license must be performed in the<br />

following order:<br />

1. Check whether the product license is available.<br />

2. Check whether extension licenses are available (if required).<br />

3. Initialize the application with the product license.<br />

262 • <strong>ArcGIS</strong> <strong>Engine</strong> <strong>Developer</strong> <strong>Guide</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!