2023年12月3日发(作者:)
金蝶K3系统环境问题方法及技巧金蝶K3系统环境问题方法及技巧一、K/3补丁文件类型及安装注册方法目前K/3产品会及时发放的补丁,补丁中不同类型的文件有不同的注册方法,如果采用不正确的方法进行注册,可能会导致补丁安装失败或者导致其它的错误,使补丁的安装没有达到预期的目的。针对这些情况,本文对K/3补丁中文件类型的注册方法做一个归纳总结。K/3的补丁分为中间层、客户端、WEB三大类。按照文件的扩展名可以分为EXE、DLL、OCX、SQL、VBR、JS、VBS、ASP,其中需要注册的有DLL(分为中间层、客户端两种)、OCX、VBR(V9.4版本之后的某些EXE文件是Active EXE类文件,也是需要注册的,只要双击EXE 文件即可),其它的文件可以直接覆盖同名文件。下面就三大类分别说明:案例:在本案例中我们以PT1072号补丁为例来进行详细描述,我们解压此补丁到桌面可以看到此补丁的目录结构为:C:Documents and Settingszhou_wf桌面PT1072Details (2 folders, 1 files, 798 bytes, 2.10 MB intotal.)│ 798 bytes --------------------------------------补丁说明文件├—client (1 folders, 2 files, 1.59 MB, 1.60 MB in total.) -------------客户端补丁文件││ 632.00 KB││ 0.97 MB│└─System32 (0 folders, 2 files, 15.97 KB, 15.97 KB in total.)│ 12.62 KB│ 3.35 KB└─server (0 folders, 2 files, 508.00 KB, 508.00 KB in total.) ---------中间层补丁文件 208.00 300.00 KB1.1.中间层补丁安装方法中间层DLL文件中间层的补丁一般是在系统的system32kdcom目录下面,扩展名为DLL类文件,它的注册方式步骤为:部骤1:把文件“”及“”文件拷贝到相应的system32kdcom目录下面;部骤2:点击【开始】→【设置】→【控制面板】→【管理工具】→【组件服务】弹出组件服务窗口,展开至如图1-1-1所示界面,在列表显示状态下根据文件“”的名称找到以“EBSBase”打的12个的“进程ID”并选择,然后点鼠标右键在弹出菜单中选择【删除(D)】将它们删除。图1-1-1提示:关于补丁文件的快速查找方法我们可以依据第二章第四节中的表-1来实现,同时一般情况下文件的名称便是“进程ID”中的打头的名称,同时我们可以在选择的“进程ID”上点击右键,在“属性”中可以发现它们是否真实属于补丁“”文件。部骤3:接下来再把新的文件重新注册回原来的位置,在图1-1-1中左侧“组件”目录上点击鼠标右键,选择【新建】→【组件】→……→【安装新组件】”,根据它的向导把补丁文件中的信息注册过来。提示:A、这里提供一个简单的方法来重建新组件,直接从system32kdcom目录下找到此文件“”,然后把此文件拖拽至图1-1-1的右侧对应列表中即可;B、上述描述是基于Microsoft Windows 2000以上的操作系统,如果是NT操作系统的组件服务的进入方法为:【开始】→【程序】→【Windows NT 4.0 OptionPack】→【Microsoft Transaction Server】→【Transaction Server Explorer】。其它操作方法相同。C、在案例中的文件是不需要注册,如果在某此补丁中有以“SQL”为扩展名的文件类型,可以直接替换原文件,可以参考相应的补丁说明文件“”。注意:中间层的DLL文件是不能通过进行注册的。1.2.客户端补丁安装方法客户端的DLL文件注册方式与中间层是截然不同的,可以通过双击文件,在打开方式中选择system32(WIN98在system)目录下面的进行注册;或者通过命令行“regsvr32 文件完整路径”来进行注册,如本案例中的“”文件;客户端的OCX文件注册方式与DLL文件注册方式相同,如本案例中的“”;客户端的VBR文件如果需要注册,如本案例中的“”及“”文件,可以通过双击文件,在打开方式下中选择system32(WIN98在system)目录下面的打开VBR文件,弹出注册的确定如图1-2-1窗口后,显示6-3-2所示界面,远程传输选择"DCOM",网络地址输入中间层服务器的IP地址,协议默认不变;另一种方法便是点击【开始】→【程序】→【金蝶K3】→【客户端部件】→【系统工具】→【远程组件配置】调用“远程组件配置”,选择对应的中间层服务器点击【确定(O)】也可以,详细操作请参见第四章第三节。图1-2-1图端补丁安装方法对于WEB文件的注册方法就比较简单,只需要根据补丁中的说明文件替换原文件,就完成了补丁的安装。但作为浏览端要使补丁生效,一般情况下需要清除当前IE的临时文件,这样浏览端才会从WEB服务器重新下载更新后的文件,否则因为临时文件COOKIED的原因导致补丁不能生效。提示:对于需要注册的DLL、OCX文件,我们可以这样总结,只有KDCOM目录下面的文件是通过组件服务来进行注册,其它的SYSTEM32、SYSTEM、K/3ERP、KINGDEE目录下面的通过来进行注册;同时我们建议:安装补丁时,请先对原文件进行备份,以便出现意外错误时可以还原。二、客户端无法测试中间层服务器的问题分析与建议方案一般出现客户端无法测试中间层服务器的问题,主要现象包括下面的几种情况:3.1.情况一:所有客户端都无法测试中间层组件,并且所有中间层组件都无法测试通过分析:首先,这一类问题是可以确定是中间层服务器的异常造成的,主要是在服务器上进行相应设置的检查,需要检查下面一些方面1.检查中间层服务器的DCOM配置中,默认属性页面中的“在此计算机上启用分布式COM”的选项是否勾上,如果没有需要选择上;如果出现该选项勾上后重启服务器该选择又取消选择的现象,应该是服务器中了木马病毒,需要用清除木马的工具检测。2.服务器是否是windows2003操作系统并且安装了SP1补丁包,如果有请按照附录一中的相关内容进行设置。3.中间层的COM+服务和DTC服务是否启用,如果没有启动,那么测试也是不通过的,这两个服务在Win2003中是默认没有启动的。4.K3中间层是否之前有安装低版本的K3,而升级到新的版本,但是卸载以前版本的K3时没有清除干净。一般建议在升级K3应用程序时,卸载以前版本的应用程序需要清除注册表信息,执行一下清除K3注册信息再安装K/3。5.服务器最近有没有更新过windows的补丁,如果有则可能是因为更新microsoft的补丁过程中对COM+的运行产生了影响,需要修复安装K3中间层。建议客户在安装Windows 补丁前,先停止所有K3中间层服务(停止运行的包,即停止所有运行的DllHost进程)。6.检查任意客户端是否能够访问中间层服务器的共享目录,如果不能访问,需要检查服务器共享中默认共享比如$IPC是否存在,如果没有需要安装microsoft的相关补丁,还需要检查服务器的安全策略是否设置了“拒绝从网络访问此计算机”的安全策略。7.检查中间层服务器是否又安装防火墙软件,从而限制了客户端对服务器的访问。8.在运行窗口中键入“regedit”命令打开注册表编辑器。找到HKEY_LOCAL_MACHINESOFTWAREMicrosoftCOM3,然后删除这个目录。在中间层服务器的“控制面板”-“添加/删除程序”中,选择“添加/删除windows组件”,然后直接点击“下一步”,可以将服务器的windows组件以及COM环境修复一下。9.客户的中间层服务器是否是通过克隆安装的操作系统,克隆的机器会使DTC协调器的一个GUID唯一标识出现相同的现象,从而导致网络中找到两个同一标识的DTC服务器,这样就可能会给K/3客户端的访问带来问题,如果是这样的情况,可以通过下面的步骤尝试修复:●重新安装msdtc●方法:在命令行运行msdtc –uninstall,然后重启,运行msdtc –install重新安装10.请检查是否服务器上有感染病毒,还需要检查服务器的事件日志信息,查看是否存在关于COM组件的报错信息。11.检查DTC服务的登陆账户,对于2000系统很多都使用localsystem账户,最好使用一个能访问网络资源的账户比如,同名同密码账户,同时winxp和win2003使用networkservice账户,改账户之后重新启动客户端。12.在中间层服务器上安装MDAC2.8。13.检查中间层服务器是否有安装瑞星、金山、KV等国产杀毒软件,K3应用程序有可能和一些杀毒软件产生冲突,建议客户卸载这些杀毒软件,然后修复安装中间层。14.建议重新安装服务器的网卡驱动程序和TCP/IP协议。15.如果以上的方法都无法处理问题,建议将服务器的系统重新安装;在重作系统之后如果还无法正常运行,那么有可能与硬件异常有关,建议尝试更换服务器网线或交换机端口。3.2.情况二:只有个别的客户端无法正常进行工作,所有组件都无法测试通过。分析:出现这样的问题,可以肯定中间层服务器的应用是正常的,只是无法测试通过的客户端的应用环境出现问题,一般需要在相应的客户端检查,可以参照情况一中的检查内容,主要检查项目包括1、4、6、7、9、10、13、14这些方面。还可以检查一下下面的几个方面:1.尝试更换登陆客户端的windows用户,域模式下可以用域的系统管理员用户登陆客户端看是否能够正常登陆,工作组模式下面在客户端尝试用服务器的系统管理员用户或其他用户登陆。2.在K/3的10.1版本,如果客户端操作系统是WINXP 打了SP2补丁的,而且又执行过K/3安装诊断工具的,可以将下面的注册表键值导入到客户端注册表中。3.如果应用的是K/310.2版本,还有一点需要注意的,那就是如果有安装中间层和客户端的机器要注册到其他的中间层服务器上,默认是无法测试通过的,这里是10.2版本的新特性,一定要在该机器上将组件服务-COM+应用程序中所有的K3中间层组件(ebo 开头的组件)删除,才可以注册其他中间层服务器。3.3.情况三:客户端只有个别的一些组件无法测试通过,其他组件均正常。分析:此问题可能的原因一是中间层服务器有安装某一补丁但客户端没有正确安装,原因二是客户端的vbr文件损坏了,需要从其他正常的客户端中拷贝相应组件的vbr文件到有问题的客户端,然后手工用clireg32来注册vbr文件。三、Win2003系统安装SP1后K/3系统不能使用的解决方法3.1.问题背景微软推出Win2003操作系统以来,其良好的性能及稳定性获得大量用户的好评,但如此庞大的一个系统无可避免会在安全性上有漏洞,微软会及时推出相应的补丁。在Win2003推出2年后,其SP1终于在4月26日推出,安装SP1可以有助于保护您的服务器的安全并更好地防御黑客的攻击。SP1 通过提供诸如安全配置向导之类的新安全工具增强了安全基础结构,它有助于确保服务器的基于角色的操作的安全、通过数据执行保护提高纵深防御能力并通过后安装安全更新向导提供安全可靠的第一次引导方案。Windows Server 2003 SP1 协助 IT 专业人员确保其服务器基础结构的安全并为 Windows Server 2003 用户提供增强的可管理性和控制。3.2.问题表现安装SP1后K/3中间层可正常使用,但远程GUI客户端登录界面长时间不出现及K/3HR 时提示COM+组件不能激活,查看事件查看器的应用程序日志,有COM+组件错误提示的记录,详细内容如下:事件类型: 错误事件来源: COM+事件种类: (98)事件ID: 4840日期: 2005-5-10事件: 15:08:14用户: N/A计算机: EEB-WEB-SRV描述:IObjectControl::Activate() 方法失败。对象的CLSID 为: {210DBBEA-AE3A-3149-8737-20FF18AC8EDF}服务器应用程序ID: {21E08E4B-5141-45BA-A58A-9F254B5D8AE9}服务器应用程序实例ID:{A715A476-F78F-46EF-BCD3-E8B43CD0689A}服务器应用程序名: 错误代码= 0x8004e025 : 由于初始化功能失败,COM+ 激活没有成功。有关详细信息,请检查事件日志。COM+ 服务内部信息:文件: d:,行: 文件版本: ENU 2001.12.4720.1830 shp不通的情况提示的组件名称可能不一样,但都属于COM+组件不能激活的错误类型。3.3.问题解决方法Win2003在安全机制上比Win2000强大很多,如在DTC上,增加了内置的网络用户处理进程的通信,并增加了一些安全设置选项。在未打SP1前,进入组件服务->我的电脑->MSDTC->安全配置,默认选项如下图3-3-1:图3-3-1未打SP1前K/3系统使用默认选项即可正常使用,安装SP1后,DTC的安全机制有了改变,默认选项如下图3-3-2:图3-3-2在此默认选项下,若数据库、中间层、WEB端、客户端都在同一台机器上,K/3系统均可正常使用。而当分布实施时,则不能正常使用。这主要是由于Win2003 SP1增加了以下两个安全控制:●事务管理器通信默认情况下要求进行验证。●COM 安全默认不允许远程启动和远程激活。增加这两个选项的原因是避免独立使用的机器默认情况下不受到恶意的攻击,但对于企业用户来说这两个选项都是必须要修改的,客户可以通过防火墙等工具达到相同的安全目的。为了解决该问题,需要修改这两个安全控制的的默认选项。1、设置事务管理器通信的安全级别为“不要求进行验证”,如下图3-3-3。若所有的机器都在同一域内则设置安全级别为“要求对呼叫方进行验证”K/3系统也可正常使用。当有一台K/3服务器安装了Win2003 SP1,对于操作系统是Win2003的其它K/3数据库服务器、中间层、WEB端、客户端必须要安装SP1及设置该选项(若客户端为Win XP,则必须安装SP2)。图3-3-32、设置COM安全的安全设置。进入组件服务->我的电脑->COM 安全->启动和激活权限的编辑限制,可以看到对于Every One默认是不允许远程启动和远程激活的。我们需要设置其对于Every One允许远程启动和远程激活。如下图3-3-4设置后,K/3系统可正常使用。图3-3-4四、K/3应用中的常见环境问题根据客户日常环境系统管理相关问题,安装完成K/3系统后,在运行时经常会遇到客户端访问中间层时出错,直接导致软件无法使用的现象。出现这些问题是通常和客户机器的网络、硬件、操作系统等有密切的关系。常见的环境问题一般有以下几个原因造成:●与操作系统中所安装的别的软件冲突,如一些杀毒软件,或一些防火墙设置有关。●操作系统的设置不当引起的,如2003中的MSDTC的设置,XP SP2中的防火墙和MSDTC设置等。●K/3的安装注册不正常引起的。根据以往的经验,总结出以下一些常见环境问题的解决方案,希望能够给服务人员得到帮助。X部件不能创建对象1.症状1:客户端运行“金蝶K/3 主控台”,还没有出现主控台窗口时,提示“ActivX部件不能创建对象”错误。错误如下图4-1-1:图4-1-1●问题原因:客户端的组件没有正确注册。●解决方案:将客户端%SystemRoot%用进行手工注册,或用K3RegisterWizard工具进行客户组件的自动注册。K3RegisterWizard工具下载地址:/doc/ :8080/download/agentdown/tech/自注册补丁工具Ts0026已不适用于K/3V10.2版本了,但有了新的注册方法执行 C:Program FilesCommon 重新注册客户端组件;执行 C:Program 重新注册中间层组件。2.症状2:客户端运行“金蝶 K/3 主控台”,在主控台窗口中选择账套录入用户名和密码按确定后,提示“ActivX部件不能创建对象”错误。错误如下图4-1-2:图4-1-2●问题原因:中间层EBOSystem包中EBSBase组件没有成功安装注册●解决方案:通过以下两种方法中的任一种都可以解决:a)请在中间层中运行组件服务,打开EBOsystem包,将EBSBase组件删除后再手工添加组件,对应的组件文件:%SystemRoot%。关于如何手工添加的方法,请参阅<系统管理员手册>。b)在开始菜单中打开“金蝶K3-中间层服务部件-系统工具-注册中间层组件”进行中间层组件的自动注册。3.症状3:每台客户端运行相同的模块时,出现“ActivX部件不能创建对象”,错误代码429,Sourse为相对应的中间层组件包名。下图4-1-3是客户端运行总帐凭证时出现的错误提示:图4-1-3●问题原因:每台客户端都在运行相同的模块出现此错误,是因为对应的中间层组件注册有问题●解决方案:将Source中给出的组件,在中间层的组件服务中重新手工注册,或者在开始菜单中打开“金蝶K3-中间层服务部件-系统工具-注册中间层组件”进行中间层组件的自动注册。、Automation类错误1.症状1:客户端运行“金蝶K/3 主控台”,在主控台窗口中选择账套,录入用户名和密码按确定后,提示“定义的应用程序或对象错误”错误。错误如下图4-2-1:图4-2-1●问题原因:1、如果中间层和数据库分别安装在两台电脑中,并且两台电脑的分别位于不同的网段,中间层和数据库无法相互Ping通机器名时,数据库端DTC就会与中间层端DTC无法进行交互。2、中间层的MSDTC服务没有正常启动3、中间层和数据库采用Win2003操作系统,网络采用工作组方式。MSDTC用户访问权限造成此错误。●解决方案:a)只需将两部机器的IP和机器名的解析分别加入到中间层服务器和数据库服务器的system32driversetc目录下的host文件中即可,或将两部机器相互设置为wins服务器。b)重新启动中间层的MSDTC服务。c)将以下注册表内容导入数据库服务器即可:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTC]"TurnOffRpcSecurity"=dword:000000012.症状2:若干台K3客户端连接同一个中间层,使用主控台模式登录,其中某些机器在登录时会提示Automation的错误,但有一些机器又是正常的。如下图4-2-2:图4-2-2●问题原因:如果只出现Automation错误,但并没有其他报错信息时,通常是系统无法捕获的错误,根据以前遇到此问题的经验,通常有以下几种可能:a)客户端的MDAC安装出理问题,或在安装别的软件时遭到破坏;b)服务器的MSDTC没有正常启动,或启动用户的权限有问题;c)客户端的分布式DCOM没有正常启动;d)客户端或服务器中安装了相应的防火墙,截断了客户端与服务器的DCOM访问,比如XPSP2的内置防火墙设置、个人防火墙软件关闭了135和1024以上的端口,都会造成此问题。e)客户端或服务器安装某防病毒软件与K3的DCOM访问存在冲突,如瑞星等。f)客户端的组件没有正常注册。●解决方案:a)1、重新运行金蝶K/3资源盘中的MDAC安装程序进行安装。或通过以下地址进行下载:简体中文版:/doc/:8080/download/agentdown/tech/MDAC_TYP_英文版:/doc/:8080/download/agentdown/tech/MDAC_TYP_)重新启动服务器的MSDTC服务。c)请检查客户端的DCOM配置属性中是否选择上“在本机启用分布式COM”选项。d)禁用XP SP2的防火墙e)卸载瑞星后重新安装K/3软件。f)请使用TS0026补丁工具进行注册,下载地址:/doc/ :8080/download/agentdown/tech/注:自注册补丁工具Ts0026已不适用于K/3V10.2版本了,但有了新的注册方法执行C:Program 重新注册客户端组件;执行C:Program 重新注册中间层组件。如以上方法都无法解决,请考虑重新安装操作系统。4.3.用kdmaindbg组件跟踪工具进行组件跟踪无论是ActiveX或者Automation错误,自金蝶K/310.2开始,K/3客户端安装目录中附带了一个功能强大的调试工具,该工具可以跟踪COM+组件的运行情况,该工具在%systemdrive%Program FilesKingdeeK3ERP目录下,其执行文件的名称是,启动后系统会提示您进入的是调试版,如下图4-3-1:图4-3-1确定后,程序调用主控台自动会打开一个K/3主控台的登陆窗口,如下图4-3-2,同时也会开启一个组件跟踪窗口,实时记录当前K/3组件的调用情况,如果有组件出现异常将会以红色字样显示,如图4-3-3,那么通过它非常方便定位问题并解决问题,另外该工具还跟踪了对象的执行时间,可以用来检测性能数据。图4-3-2图4-3-3当我们跟踪到有组件出现错误时,会出现一条红色显示的记录,表示该组件调用异常,那么显示红色的组件时,我们怎样来处理呢?下面我来介绍一下:首先,我们要定位该组件是属于哪一个类K/3组件,这样我们就能够方便的在组件服务中定位异常的组件。我们可以在%systemdrive%windowssystem32目录下,找到一个的文件,此文件记录了所有组件的信息;用记事本打开这个文件,然后就可以搜索到你跟踪到的组件处于那个K/3的组件包下,同时这个文件中还可以知道在组件服务中以ebo开头的组件包分别对应的K/3系统模块。下面我以一个K/3中间层组件为例介绍一下:假如我们跟踪到这个组件有异常,那么我们就要打开 文件查找,如下图4-3-4:图4-3-4在我们定位了异常的组件后,我们需要重新注册组件。具体注册组件的方法参考K/3补丁文件类型及安装注册方法。关于中间层组件包的注册情况,可以参考《K/3常见问题集》安装卸载篇中的内容了解。
发布评论