Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Jan 1, 2003

CheckOLEDBProvider - Check whether an OLEDB provider is registered correctly

'Check if the specified OLEDB Provider is installed and registered correctly
'
'Example: check the Jet 4.0 OLEDB Provider
'MsgBox "The specified OLEDB provider " & '        IIf(CheckOLEDBProvider
' ("Microsoft.Jet.OLEDB.4.0"), "does", "does not") & " exist"
'
' NOTES: Requires CheckRegistryKey and GetRegistryValue

Function CheckOLEDBProvider(ByVal ProgID As String) As Boolean
    Dim CLSID As String
    Dim InprocServer As String
    
    Const HKEY_CLASSES_ROOT = &H80000000
    
    On Error Resume Next
    
    'if the ProgID for the OLEDB does not exist, return false
    If Not CheckRegistryKey(HKEY_CLASSES_ROOT, ProgID) Then Exit Function
    'get the clsid
    CLSID = GetRegistryValue(HKEY_CLASSES_ROOT, ProgID & "\CLSID", "")
    'check if there is the key "OLE DB Provider" under the CLSID key
    If Not CheckRegistryKey(HKEY_CLASSES_ROOT, _
        "CLSID\" & CLSID & "\OLE DB Provider") Then Exit Function
    'check if the physical file exists
    InprocServer = GetRegistryValue(HKEY_CLASSES_ROOT, _
        "CLSID\" & CLSID & "\InprocServer32", "")
    
    If (GetAttr(InprocServer) And vbDirectory) = 0 Then
        'if the routine arrives here, return True
        CheckOLEDBProvider = True
    End If
End Function
Marco Bellinaso
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap