Frustrerende nok synes Microsoft ikke at give et entydigt svar på, hvordan man tester, om klientbiblioteket er til stede. Websøgning og registreringssniffing afslører i det mindste følgende registreringsnøgler:
HLKM\SOFTWARE\Microsoft\SQLNCLI11 (key:InstalledVersion)
HLKM\SOFTWARE\Microsoft\SQLNCLI10 (key:InstalledVersion)
HKLM\SOFTWARE\Microsoft\Microsoft SQL Native Client\CurrentVersion (version 9, i presume?)
HLKM\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 10.0\CurrentVersion (key:Version)
HLKM\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 11.0\CurrentVersion (key:Version)
Dette blogindlæg på MSDN foreslår, at det er forkert, forkert, forkert at bruge registreringsdatabasenøgler til at besvare et relateret spørgsmål (er SQL Server Express installeret) og du bør skrive 200 linjer WMI-kode i stedet for. WMI-tilgange synes lige så udokumenteret og endnu mere skrøbelig for mig.
Da Microsoft tillader, at SQL Native Client-pakken omdistribueres , måske er det bedste valg blot at inkludere msi i dit programs installationsprogram og køre det, uanset om det er nødvendigt eller ej. Se denne liste over understøttede operativsystemer til de forskellige drivere, de leverer hvilket afslører, at der også er en version 10.5(!).
SQLNCLI er installeret parallelt med MDAC-baserede drivere, så det burde være sikkert at køre msiexec
på dette og lad det tage sig af detaljerne.