我需要检测机器上安装的informix客户端的确切版本,我对不改变环境的程序使用的默认版本感兴趣。如何在Windows上获取默认的Informix Connect/SDK版本?
和确切的版本我指的是获得3.50.tc4或3.50.fc5而不是只有3.50,并且当机器上没有安装Informix时为“无”。
我需要检测机器上安装的informix客户端的确切版本,我对不改变环境的程序使用的默认版本感兴趣。如何在Windows上获取默认的Informix Connect/SDK版本?
和确切的版本我指的是获得3.50.tc4或3.50.fc5而不是只有3.50,并且当机器上没有安装Informix时为“无”。
我来的解决方案是从注册表中读取
HKEY_LOCAL_MACHINE\SOFTWARE\Informix\Environment\INFORMIXDIR
和查找文件:
$INFORMIXDIR/etc/.lvers_csdk
$INFORMIXDIR/etc/.lvers_conn
包含版本文本的
(例如:“3.70.FC8”)
与此我也可以知道是否是CSDK或只有连接安装。
您可以找到Informix Client库之一,如iclit09b.dll
。安装Informix Client后,它应该在PATH
上。然后你可以阅读它的版本信息。
我创建了Python程序,它使用win32api
,并且可以在PATH
上搜索这些库,然后显示它的属性:日期,大小和版本信息。您可以从https://code.activestate.com/recipes/576522-searching-dll-and-exe-files-in-path/
下载进行iclit09b.dll
它打印:
2014-06-04 11:10:05 1015808 [b] C:\informix\bin\iclit09b.dll ProductVersion 4.10.TC4DE; FileVersion 4.10.TC4DE