Previous Thread

8/10/2006 8:36:02 AM    Registering OLE DB provider.
Hello 
 
I've written a simple OLE DB provider from scratch (without ATL) and I have 
 
problems with registering my provider with Microsoft Data Link. 
 
These are steps I performed in order to register my DLL. 
 
regsvr32 ComDll.dll 
 
which makes following keys appear in the registry: 
 
[HKEY_CLASSES_ROOT\ComDll.DummyDataSource] 
 
@="Zbyszkowy Testowy OLE DB" 
 
[HKEY_CLASSES_ROOT\ComDll.DummyDataSource\CLSID] 
 
@="{af30aaaa-aaaa-abcd-ceE0-0F4A44FC38C4}" 
 
[HKEY_CLASSES_ROOT\ComDll.DummyDataSource\CurVer] 
 
@="ComDll.DummyDataSource.1" 
 
[HKEY_CLASSES_ROOT\ComDll.DummyDataSource.1] 
 
@="Zbyszkowy Testowy OLE DB" 
 
[HKEY_CLASSES_ROOT\ComDll.DummyDataSource.1\CLSID] 
 
@="{af30aaaa-aaaa-abcd-ceE0-0F4A44FC38C4}" 
 
[HKEY_CLASSES_ROOT\CLSID\{af30aaaa-aaaa-abcd-ceE0-0F4A44FC38C4}] 
 
@="ComDll.DummyDataSource" 
 
[HKEY_CLASSES_ROOT\CLSID\{af30aaaa-aaaa-abcd-ceE0- 
 
0F4A44FC38C4}\InProcServer32] 
 
@="c:\\zbyszek\\projekty\\ComDll\\Debug\\ComDll.dll" 
 
"ThreadingModel"="Apartment" 
 
[HKEY_CLASSES_ROOT\CLSID\{af30aaaa-aaaa-abcd-ceE0-0F4A44FC38C4}\OLE DB 
 
Provider] 
 
@="Zbyszkowy Testowy OLE DB" 
 
"OLEDB_SERVICES"=dword:ffffffff 
 
[HKEY_CLASSES_ROOT\CLSID\{af30aaaa-aaaa-abcd-ceE0-0F4A44FC38C4}\ProgID] 
 
@="ComDll.DummyDataSource.1" 
 
[HKEY_CLASSES_ROOT\CLSID\{af30aaaa-aaaa-abcd-ceE0- 
 
0F4A44FC38C4}\VersionIndependentProgID] 
 
@="ComDll.DummyDataSource" 
 
The end. 
 
Unfortunatelly Microsoft Data Link still says that provider was not properly 
 
installed. 
 
I tried to attach debugger: 
 
1. ClassFactory returns new DataSource object. 
 
2. Object is queried for IDBProperies interface, which is returned (no error 
 
here). 
 
3. This is the last step, after returning this interface MDL shows "Provider 
 
is no longer available. Check whether it was installed properly" (or smth. 
 
like that - I have non English Windows, so I cannot present the actual 
 
message). 
 
According to msdn that is all, that I shoul put into register, but i appears 
 
it is not enough. 
 
ps. I double checked paths and key value.