Retrieving the COM class factory error message when trying to use PropertySet

9900
6
Jump to solution
12-18-2010 10:55 AM
KeithPalmer
New Contributor
Hi All,

I trying to upgrade a 9.3 ArcObjects app to ArGIS 10 and I'm having one last problem that I can't seem to fix.  I'm doing a simple Dim propertySet As IPropertySet = New PropertySet(), but I keep getting the following error:

"Retrieving the COM class factory for component with CLSID {588E5A11-D09B-11D1-AA7C-00C04FA33A15} failed due to the following error: 80040111 ClassFactory cannot supply requested class (Exception from HRESULT: 0x80040111 (CLASS_E_CLASSNOTAVAILABLE)"

I've tried creating a simple project with just this line and the ESRI.ArcGIS.esriSystem library and I still get the error message.

I'm using ArcGIS SDK 10 SP1, Visual Studio 2010 VB.NET, and .NET 3.5 SP1.

Any suggestions?

Thanks,
-Keith
0 Kudos
1 Solution

Accepted Solutions
RichardWatson
Frequent Contributor
If this is a standalone program then you have to call ESRI.ArcGIS.RuntimeManager.Bind before calling ArcObject.  It is described here:

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/What_s_new_for_develope...

View solution in original post

6 Replies
RichardWatson
Frequent Contributor
If this is a standalone program then you have to call ESRI.ArcGIS.RuntimeManager.Bind before calling ArcObject.  It is described here:

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/What_s_new_for_develope...
KeithPalmer
New Contributor
That was it.  Thanks.  That's the price I pay for only doing Flex dev for the last year.

-Keith
0 Kudos
JohanCarlsson
Occasional Contributor
I have a similar problem with this. Previously I've never hade to initialize a bind, but after getting shape files for loading from a different file server than before, it seems like this is necessary all of a sudden. Loading from the new file server requires this line:

RuntimeManager.BindLicense(ProductCode.Desktop);


With the old file server it is possible to remove this line and it still works. Why is this? I thought that the licenses were only necessary for the machine running the executable, not file servers that are used in performing a task. We use XML-files for scheduled tasks, and the only change that caused the COM-exception was a new path. All ArcGIS products are version 10.

Any answers that could clarify this would be appreciated.

Regards
Johan Carlsson
0 Kudos
RichardWatson
Frequent Contributor
If you call ArcObjects then you have to bind. 

If you look in the registry at the keys then you will understand why.  This all happened because ESRI began to support side by side versions in release 9.4 (later called 10.0).  They never finished the work but left the added complexity.

Whether you need a license or not depends on the API you are calling and is in addition to the bind requirement.
AlexanderGray
Occasional Contributor III
Any word on if side by side versions are coming back?  This would be very useful in cases that upgrading is too much time and effort.
0 Kudos
RichardWatson
Frequent Contributor
I don't think that you will ever see side by side in the existing ArcMap product.

That said, check out the quote on the next generation product which specifically mentions "side by side":

http://events.esri.com/uc/QandA/index.cfm?fuseaction=answer&conferenceId=CCAEEE69-1422-2418-7F1D0EB8...
0 Kudos