I have a c# website that allows a client to connect directly to a remote SQL Server database from their PC, bypassing the web server, by using a 3rd party ActiveX control. I was originally using the SQLOLEDB provider and it was working fine. The clients are in an internal network (using Windows machines and Internet Explorer) and the website is not intended for exposure to the general internet.
I had to upgrade from using the SQLOLEDB provider to the SQLNCLI10 provider to cater for the new datatypes in SQL Server 2008. It worked on my PC, but broke in production. What I didn't realise is that it worked because the SQLOLEDB provider is part of the Windows OS (MDAC/WDAC) so already exists on the client's PC. The SQLNCLI10 provider is included as part of SQL Server 2008 and has to be installed separately on the client machine (because most of them won't have SQL Server installed, but I do).
I can provide a link for them to download a standalone Microsoft SQL Server 2008 Native Client provider from, but how do I check if they already have it installed?