Maybe this select could solve your problem?
SELECT DISTINCT s.client_version
FROM v$session_connect_info s
WHERE s.sid = SYS_CONTEXT('USERENV', 'SID');
When I run it in SQLDeveloper on my PC, I get "12.1.0.2.0", because that's the driver that comes with my SQLDeveloper version I guess, and when I run it from a Powerbuilder Database painter, I get "19.3.0.0.0" which is correct in my case. So that means that if you run this select (maybe using a datastore or some embedded sql), you would get the version the user finds when running your application.
I'm not sure if that's enough for you to know if the instant client or the 'old' client is being used, but I think it would as long as you know which instant client version you're rolling out.
If not, you can dig through the registry and find out which client this version belongs to etc.
Make sure all of your users have "select" access rights for this v$session_connect_info table.
regards
Thank you so much!
MJ
Hha thank you Mary Jane, I'm using it myself too in our applications now. It's very useful!
regards