补丁更新系统应用说明马春荃2006-05-22SPUS完整的网络架构图补丁更新工具部署拓扑图订阅持久信息DB上传下载组件包上传下载服务上传下载服务上传下载管理上传下载管理线程池管理器线程集线程集提交下载任务回调过程,由上下载服务自己处理下载过程订阅管理订阅管理后台订阅服务后台订阅服务存储订阅信处信息收集器信息收集器同步和管理同步和管理依靠上传下载传输数据补丁实体信息,及相应的管理信息等SPUS构建管理中心IIS(USS/CSS)DAC协调器协调器补丁安装/反安/显示装工具补丁安装/反安/显示装工具本机补丁无信息持信息安装成功,写入具体息具本的补丁包文件备份显示补丁信息服务器端配置•强调两点:•工具服务器端可以装载任何一台安装了IIS的网络计算机上•服务器端只负责下载补丁和分发补丁,没有安装补丁的功能•在用户处配置时,将更新工具的服务器端与用友公司的服务器进行连接。•如果是通过代理访问网络,还要配置代理服务器服务器端配置•服务器端的任务就是下载补丁并供该客户内部众多客户端下载。•下载方式有HTTP和FTP两种。•以HTTP为例,设置好下载方式后,系统会自动在IIS中生成两个目录UfidaspusInfo和UfidaSpusWarehouse。•注意:在补丁自动更新工具服务器端一定要安装IIS才能建立这两个虚拟目录。配置订阅•如果在工具服务器端的机器上没有任何U8软件,此时就需要做订约配置。•此时你看到的是无主题订阅,当修改维护之后填入订阅主题点击新增,就会增加一个订阅。•将主题选蓝后,点击修改,这才是对该主题的修改。•订阅保存后形成了配置文件•在补丁工具服务器端立即更新,如果尚有未下载的补丁,就会显示如下状态。•下载时会形成下载文件和断点续传的信息文件•下载成功后,工具服务器端就会将下载的补丁信息写入到sp.mdb文件中的SPPublisInfo•注意:•不要修改此表的信息,除非在万不得已的情况下将其全部清空,以便重新下载补丁。•但这样带来的风险是,重新下载的补丁如果和原来的补丁文件不一致(后面会讲到),恰巧工具客户端已经下载了原有补丁并安装了,这就有可能造成补丁不匹配。•C:\ProgramFiles\UFIDASPUS\CSS目录下有log-file.txt文件,是自动更新工具服务器端的补丁下载记录•客户端从服务器更新补丁后,可以通过服务器段查询具体客户端安装过的补丁情况。客户端补丁安装的校验•各个自动更新工具客户端下载补丁后,均会将信息写入到sp.mdb文件中的ClientInfo表中。客户端配置•自动更新工具客户端的任务是由自动更新工具服务器端下载补丁,并将其安装到本机。•所以,自动更新工具客户端一定要安装在装有U8的机器上。•客户端也有订阅配置,但是其版本信息是根据系统内安装的U8软件而定的,不能随意选择。•在客户端保存系统最新的订阅信息文件,如果无法连接CSS服务器获得其在服务器上的数据时,使用CSC端的数据•建议:将订阅全部选中。•将客户端设置为“通过本公司服务器下载”•公司补丁服务器栏目填上已经配置好的自动更新补丁服务器端的机器名。•在U8数据库上,要选中“我要从本机升级数据库服务器”•然后录入验证用户名和密码•在账套下拉列表中选择脚本执行的账套,可多选。•在账套下拉列表下方有立即升级所选账套的链接。当客户已经安装了补丁,从外部引入账套时或新建年度账时,此功能就可以直接对账套进行更新。•在客户端其他设置中可修改补丁本地存放地址,最好将此地址设置在非系统盘。•在客户端的工具栏中鼠标右键点击客户端工具图标,在菜单中点击立即更新•客户端工具将到服务器端搜索未安装的补丁,如存在未安装补丁,会出现如下面板,用户可点击执行按钮来安装补丁。•脚本补丁安装时系统会给出账套备份提示。•一定要让用户确认备份好数据后再进行数据脚本的安装,否则出现问题无法回滚。•补丁安装好之后,客户端工具会将已安装的补丁信息写入注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstal中。•并将安装过程中替换的原文件复制,并保存在U8SOFT\UFUNINSTALL目录中,以便卸载补丁时将其恢复。•安装过程中执行的脚本文件自动释放在U8SOFT\Admin\UFDBTMP目录中注意事项•在自动更新工具的服务器端安装IIS。•在执行脚本补丁时一定要备份数据账套。•尽量使用更新工具安装补丁,避免直接执行downloads目录中的MSI文件。•在自动更新工具客户端的机器上直接执行MSI文件时,若需要执行脚本,请先用更新工具设置好账套对应。补丁下载安装失败后的处理方式•如果在安装过程中提示"未安装MSI3.0",请打补丁"WindowsInstaller-KB893803-v2-x86"•对于内存偏小的用户PC机,有可能会在执行立即更新或升级时报告“内存不足”的错误,此时请关闭不必要的服务和进程,然后重新更新升级,或者重新启动计算机后重新更新升级。•对于一次更新大量脚本的情况,最好在U8数据库服务器端将连接超时设置为3000,否则会在脚本执行中途报超时错误。•对于860sp产品,执行立即升级所选账套功能时,可能会在执行报告中报DPRD860SP1_HR_HM补丁.sql执行超时错误。•此时到U8SOFT\Admin\UFDBTMP目录下查找DPRD860SP1_HR_HM补丁.sql,并在查询分析器对应账套中执行。•861在升级时可能会有如下报错:•Data_Data_HR_TR_81541_importPlan_EN.sql执行SQL脚本出错!数据库库升级出现错误!数据库库升级出现错误!运行脚本e:\u8soft\Admin\UFDBTMP\Data_Data_HR_TR_81541_importPlan_EN.sql时出错,出错语句:insertintohr_sys_itemdict_base([cTableCode],[citemCode],[vitemName],[vdescription],[iitemType],[vReferenceObj],[bLastLevelFlag],[iitemLen],[iitemDec],[bsysFlag],[brecordFlag],[bnullFlag],[vDefault],[bdelFlag],[ishowOrder],[bdefault],[bDisplay],[vMemo],[LocaleID])values(‘HR_TR_DEMAND’,‘rDemandType’,‘DemandType’,‘’,‘9’,‘HR_CT211’,‘0’,‘30’,‘0’,‘0’,‘1’,‘1’,‘1’,‘0’,‘25’,‘0’,‘1’,‘’,‘en-US’),错误信息:INSERT语句与TABLEFOREIGNKEY约束‘FK_HR_SYS_I_REFERENCE_HR_SYS_S’冲突。该冲突发生于数据库‘UFDATA_010_2006’,表‘hr_sys_setdict_Base’。语句已终止。数据库升级已取消。•此种错误曾经在补丁包发布后做过修正,原有的Data_Data_HR_TR_81541_importPlan_EN.sql脚本日期为2006年2月24日,后来调整为2006年4月17日。您需要在工具客户端的所有补丁卸载,并删除u8soft\admin\ufdbtmp下的所有文件。然后到工具服务器端删除已下载的补丁,并将sp.mdb文件中的表记录都清空。•工具服务器端重新下载,而后工具客户端由服务器端下载安装对于键值无足够权限•这是由于当前用户没有此注册表项目的写权限。•在运行中执行regedit32命令•看到上图界面,找到runonce键值(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce),点击菜单:安全,察看他的权限,给当前用户赋予这个键值的写权限登录失败•报错信息:–Sys_data_crm_84123_PanoramaPrintAuth.sql–执行SQL脚本出错!数据库库升级出现错误!无法打开登录'UFDATA_001_2006'中请求的数据库。登录失败。–用户'sa'登录失败。–数据库升级已取消。•这个错误是由于系统在执行脚本更新时发生了意外,使得脚本回滚。•出现此错误后,数据库回滚会根据回滚得脚本的不同耗费很长的一段时间。此时不能执行脚本•我们判断回滚执行完毕的方式:在保证数据库无人访问的情况下,打开数据库服务器的上任务管理器,观察sqlserver的内存占用是否在增长,如果长时间不增长了,就证明回滚完毕连接关闭错误•5月20日,利用4月20日发布工具服务器端下载时报错。•出错后,继续下载又可以了(因为下载工具是支持断点续传的)安装861补丁失败•在某些机器上安装861的第一号补丁和第十九号补丁时会报:无法打开安装程序包-2147023898错误•在某些OEM版的XP+sp2的环境下进行安装时出现下面的错误提示:•对于这个问题目前有两个说法,但都不奏效:–1、查看一下有问题的机器的system32下是否存在以下文件COMCTL32.DLLCOMDLG32.DLLSHELL32.DLLSHLWAPI.DLL将此文件更新。下列问题可能造成以上文件丢失或改变:1,中了木马病毒;2,windows安装时没有安装。–2、由于报错系统是在windowsXP+sp2的环境下,所以有可能与xpsp2及处理器的dep(DateExecutionPrevention)有关。•除了操作系统支持DEP外,还需要CPU的支持。•目前常见的32位处理器(例如P4Northwood等)并不支持NX,支持该技术的CPU主要有AMD的64位处理器(Athlon64、AMDOpteron),以及Intel的安腾系列CPU、J系列的P4Prescott•如果在安装补丁的过程出现其他了错误,可能是2个原因:–1补丁中包含数据库脚本,并且执行失败。•此时请查看执行日志文件,位置是系统盘的\ProgramFiles\CommonFiles\UFIDASPUS\csc\SpusLog\dblog.txt•解决方案:集团将发布新的系统管理补丁(专门修复出问题的数据库脚本)。看到新的补丁后,去掉U8自动更新工具中的所有数据库帐套,再次下载安装所有补丁,然后再到U8自动更新工具中升级数据库帐套(这种方式把发版后的所有脚本执行一遍,因此需要4-5分钟的时间)。–2安装、注册程序文件失败•此种情况请及时向U8产品支持部反馈截图和相关信息。使用中如有任何问题请及时反馈到U8产品支持部mcq@ufida.com.cn