在Windows 7下安装U871或者U872时,在检测组件窗口时,会出现MDAC组没有安装的提示,是因为Windows 7所带的MDAC软件版本太高,U8无法检测到。
为了解决这个问题,我们需要做的是将这个版本检测值进行修改。运行regedit,打开注册表,进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess,将
"FullInstallVer"="6.1.7600.16385"
"Version"="6.1.7600.16385"
修改为
"FullInstallVer"="2.82.3959.0"
"Version"="2.82.3959.0"
就可以了,安装后最好再将其还原。
在安装过程中,会出现一些兼容性提示,全部忽略即可。
注意:
2012年出货的U871或者U872经过重新编译,能够识别早先的win7 旗舰版安装的MDAC版本,但是无法识别经过升级的win7旗舰版的MDAC。因为之后升级过的win7旗舰版的MDAC版本变成了6.1.7601.XXXX,U872的识别程序是直接读取注册表而不是对安装的MDAC组建版本进行识别,所以导致安装过程无法继续。
解决方法:将 6.1.7601.XXXX 改为 :6.1.7600.16385
说明用友的开发部门使用了win7sp1某一个版本作为开发平台,重新编译了旧版的U87源代码,但是又不知道如何确认win7 自带MDAC的版本,所以就偷懒直接在注册表中检测,写死为某一个版本的版本号!然而,在没有通知一线工程师的情况下做这种改动,将会耗费不少分公司的人力和时间,还会造成客户的不满。国内软件公司的弊病显露无疑,没有很好的软件工程管理就匆匆发布,问题全部留给一线的负责人收拾残局!悲哀。