Q:

When is it safe to uninstall SQL Server Native Client programmatically?

How do you determine when it is safe to uninstall the 'SQL Server Native Client'? I believe that simply checking whether there is an SQL Server instance installed is naive.
I've tried researching and testing the behavior of the following keys, among others, but they don't seem to give me what I need:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Native Client\MSIRefCount
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SNAC\MSIRefCount
...

I'm using Win32/Windows API via C++.

A:

It's not safe. Anything could be using it, either via a defined ODBC DSN or a connection string, and it doesn't require SQL server itself to be installed on the same machine for use.

