本文讲述了在云星空客户端安装过程中遇到“在下载文件system.data.sqlserverce.dll时发生一些错误”的常见问题及其解决方法。主要分析了三种原因:防火墙拦截、服务器缺少相关文件、manifest文件记录缺失,并详细给出了每种情况的判断和操作步骤,包括修改文件名、检查防火墙设置、替换或补充缺失文件等,以确保客户端安装顺利进行。
学习目标
了解云星空客户端安装时的常见问题处理方法。
本文以提示“在下载文件 system.data.sqlserverce.dll时发生一些错误”这个错误为例。
问题现象
安装客户端在运行完引导程序,让输入k3cloud访问网址,开始进行加载客户端文件运行到13%时报错:在下载文件 【system.data.sqlserverce.dll】时,发生一些错误。如下图所示。
原因分析
1、出现这种提示的一般都是文件名中带有‘sql’等关键字的,大多是被防火墙拦截导致;
关于如何判断是否是防火墙拦截了,建议可以参考下客户端从服务器下载组件报错的分析过程
2、服务器上的cloud安装目录下\Program Files (x86)\Kingdee\K3Cloud\WebSite\ClientBin\K3CloudClient缺少报错提示中的文件;
3、服务器上的cloud安装目录下\Program Files (x86)\Kingdee\K3Cloud\WebSite\ClientBin\K3CloudClient文件夹中的K3CloudClient.manifest中没有记录报错提示中的文件的相关内容。
解决方法和操作步骤
情况一、针对防火墙拦截这种情况,建议如下:
1、如果是个别电脑有问题,可以通过替换正常电脑上的deskclient文件夹变通处理;
①、把故障客户端的C:\Program Files (x86)\Kingdee\K3Cloud\DeskClient文件夹重命名为其他名字,比如deskclient0702;
②、然后把正常客户端的deskclient文件夹拷贝粘贴到C:\Program Files (x86)\Kingdee\K3Cloud\文件夹下;
③、打开deskclient文件夹下的Kingdee.BOS.DeskClient.Shell文件,可以打开cloud客户端;
④、以Kingdee.BOS.DeskClient.Shell文件创建快捷方式,把这个快捷方式粘贴到桌面,修改该快捷方式属性里面的目标,改为"C:\Program Files (x86)\Kingdee\K3Cloud\DeskClient\Kingdee.BOS.DeskClient.Shell.exe" http://192.168.21.249/K3Cloud/ClientBin/K3CloudClient/k3cloudclient.manifest即可。
说明
上述192.168.21.249请改为您这边的服务器的实际的计算机名或IP地址。
关于修改快捷方式属性的方法,也可以参考如下帖子。
2、如果是所有电脑都报错,建议检查防火墙的设置,可以考虑先关闭防火墙,或者开放相关的端口号(默认是80端口)。
另外需要注意服务器上是否有上网行为管理类的软件,比如深信服,如果有,建议把该软件退出,或者把云星空的安装路径和执行文件添加到白名单里面。
比如,深信服EDR里面提示有一个风险为处理,如下图所示。
在深信服EDR界面,把kingdee目录添加到【信任区】;如下图所示。
3、把文件名中的“sql”关键字修改掉;
①、修改掉云星空安装目录\Program Files (x86)\Kingdee\K3Cloud\WebSite\ClientBin\K3CloudClient文件夹中的System.Data.SqlServerCe.dll.deploy文件名,比如把sq后面的l去掉,就是改为System.Data.SqServerCe.dll.deploy;
②、同时,要在云星空安装目录\K3Cloud\WebSite\ClientBin\K3CloudClient文件夹中的K3CloudClient.manifest文件中,修改System.Data.SqlServerCe.dll.deploy为System.Data.SqServerCe.dll.deploy;跟步骤a里的文件名保持一致,如下图所示。
情况二、服务器相关路径下缺失System.Data.SqlServerCe.dll.deploy文件
1、如果检查发现是服务器上的cloud安装目录下\Program Files (x86)\Kingdee\K3Cloud\WebSite\ClientBin\K3CloudClient缺少System.Data.SqlServerCe.dll.deploy文件;
则建议找同版本服务器拷贝该文件,放入到服务器的对应路径上;
2、可以尝试在本服务器的\K3Cloud\ManageSite\ClientBin\K3CloudClient下拷贝该文件,粘贴到\K3Cloud\WebSite\ClientBin\K3CloudClient下。
3、如果实在找不到可拷贝的,则可考虑重装服务器的金蝶云星空软件。
情况三、服务器上相关路径下的K3CloudClient.manifest文件中记录信息缺失
1、如果是服务器上的cloud安装目录下\Program Files (x86)\Kingdee\K3Cloud\WebSite\ClientBin\K3CloudClient文件夹中的K3CloudClient.manifest中没有记录System.Data.SqlServerCe.dll.deploy文件的相关内容,如下图所示;
可以参照正常环境上的该文件的内容,添加如下内容;
<Item Include="System.Data.SqlServerCe.dll.deploy">
<TargetPath>System.Data.SqlServerCe.dll</TargetPath>
<HashCode>0A14E62CD55613C6CCA6A62DEEB7975509227602</HashCode>
<ModifyDate>2017-04-21T16:29:05.7196822+08:00</ModifyDate>
<IsRegisterSelf>false</IsRegisterSelf>
</Item>
2、或者直接从正常的同版本服务器环境上拷贝替换K3CloudClient.manifest文件。
说明
如果报错提示的是其他的dll文件,也可以照上述方法处理。
推荐阅读