Сам просек что надо сделать!
Если под VB то Addins LicenseInstaller (необходимо только указать, какие продукты и модули использовать) Добавляется код вроде
Option Explicit
'FILE AUTOMATICALLY GENERATED BY ESRI LICENSE INITIALIZATION ADDIN
'YOU SHOULD NOT NORMALLY EDIT OR REMOVE THIS FILE FROM THE PROJECT
Private m_pAoInitialize As IAoInitialize
Public Function InitializeApplication() As Boolean
Dim bInitialized As Boolean
bInitialized = True
Set m_pAoInitialize = New AoInitialize
If m_pAoInitialize Is Nothing Then
MsgBox "Unable to initialize ArcGIS. This application cannot run! Please check that ArcGIS (Desktop, Engine or Server) is installed."
bInitialized = False
End If
'Initialize the application
Dim licenseStatus As esriLicenseStatus
licenseStatus = esriLicenseUnavailable
licenseStatus = CheckOutLicenses(esriLicenseProductCodeArcEditor)
If licenseStatus <> esriLicenseCheckedOut Then
MsgBox LicenseMessage(licenseStatus)
bInitialized = False
End If
InitializeApplication = bInitialized
End Function
Public Sub ShutdownApplication()
If m_pAoInitialize Is Nothing Then Exit Sub
'Checkin the extensions
m_pAoInitialize.CheckInExtension esriLicenseExtensionCodeMLE
'Shut down the AoInitilaize object
m_pAoInitialize.Shutdown
Set m_pAoInitialize = Nothing
End Sub
Private Function CheckOutLicenses(productCode As esriLicenseProductCode) As esriLicenseStatus
Dim licenseStatus As esriLicenseStatus
'Determine if the product is available
licenseStatus = m_pAoInitialize.IsProductCodeAvailable(productCode)
If (licenseStatus = esriLicenseAvailable) Then
'Determine if the extensions are available
licenseStatus = m_pAoInitialize.IsExtensionCodeAvailable(productCode, esriLicenseExtensionCodeMLE)
If licenseStatus = esriLicenseAvailable Then
'Initialize the license
licenseStatus = m_pAoInitialize.Initialize(productCode)
End If
' If you want to check out the Desktop Extension only when it is required instead of for
' the entire application, then move this code to where the extension is required.
'Checkout the extensions
If (licenseStatus = esriLicenseCheckedOut) Then
licenseStatus = m_pAoInitialize.CheckOutExtension(esriLicenseExtensionCodeMLE)
End If
End If
CheckOutLicenses = licenseStatus
End Function
Private Function LicenseMessage(licenseStatus As esriLicenseStatus) As String
'Not licensed
If (licenseStatus = esriLicenseNotLicensed) Then
LicenseMessage = "You are not licensed to run this product!"
'The licenses needed are currently in use
ElseIf (licenseStatus = esriLicenseUnavailable) Then
LicenseMessage = "There are insuffient licenses to run!"
'The licenses unexpected license failure
ElseIf (licenseStatus = esriLicenseFailure) Then
LicenseMessage = "Unexpected license failure! Please contact your administrator."
'Already initialized (Initialization can only occur once)
ElseIf (licenseStatus = esriLicenseAlreadyInitialized) Then
LicenseMessage = "The license has already been initialized! Please check your implementation."
End If
End Function
При старте выполняется функция InitializeApplication() и все ОК
Что насчет Arcreader - то фиг его знает, как заставить работать!