Rubrik: Datenbanken | VB-Versionen: VB.NET | 23.01.07 |
Welche MDAC-Version ist installiert? (VB.NET) Dieser Tipp zeigt, wie man unter VB.NET die installierte ADO-Version ermitteln kann. | ||
Autor: Dieter Otter | Bewertung: | Views: 11.702 |
www.tools4vb.de | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Sie haben eine Applikation entwickelt, die per ADO auf eine Datenbank zugreift. Dazu nutzen Sie z.B. die ADO Version 2.8. Beim Start der Applikation auf einem Fremdsystem sollten Sie daher sicherstellen, dass auf dem Ziel-PC die gleiche ADO Version oder eine höhere installiert ist.
Mit nachfolgende Funktion wird die installierte ADO-Version direkt aus der Windows-Registry ausgelesen.
Imports Microsoft.Win32 ... Public Function GetADOVersion(Optional ByVal bFullVersion As Boolean = False) As String ' Registry-Zweig öffnen Dim RegKey As RegistryKey = Registry.LocalMachine.OpenSubKey( _ "Software\Microsoft\DataAccess") ' ADO-Version auslesen Dim sVersion As String = CType(RegKey.GetValue("fullinstallver", ""), String) If sVersion.Length > 0 Then ' Versions-Rückgabe aufsplitten If Not bFullVersion Then Dim sData As String() = sVersion.Split(".") ' Rückgabe: MajorVersion und MinorVersion (z.B. 2.8) sVersion = sData(0) & "." & sData(1).Substring(0, 1) End If End If ' Registry wieder schließen RegKey.Close() Return (sVersion) End Function
Über den optionalen Parameter "bFullVersion" können Sie festlegen, ob die vollständige Versionsnummer zurückgegeben werden soll oder nur die Hauptversionsnummer.
Aufrufbeispiel:
Beim Start soll geprüft werden, ob ADO mind. in der Version 2.8 vorhanden ist.
Sub Main() Dim sVersion As String = GetADOVersion() If sVersion.Length > 0 Then ' Auf Version 2.8 oder höher prüfen If CLng(sVersion) >= 28 Then MsgBox("ADO Version 2.8 oder höher ist installiert.") Else MsgBox("Sie benötigen min. die ADO Version 2.8. Bitte installieren") End If Else MsgBox("Kein ADO installiert!") End If End Sub