安装 PrintManager 和 SQL Server 所遇到的问题
发布时间:2018-08-20 18:31:24 所属栏目:电子商务 来源:站长网
导读:安装 Autodest PrintManager 所遇到的问题 / 安装 SQL Server 所遇到的问题 为了参考一下打印服务器的工作流程,特地找了个Autodest PrintManager 来看看。 Autodest PrintManager的安装步骤: 步骤一.PrintManager数据库安装 步骤二.PrintManager Web站点
安装 Autodest PrintManager 所遇到的问题 / 安装 SQL Server 所遇到的问题 为了参考一下打印服务器的工作流程,特地找了个Autodest PrintManager 来看看。 Autodest PrintManager的安装步骤: 步骤一.PrintManager数据库安装 步骤二.PrintManager Web站点安装 步骤三.PrintManager打印服务安装 步骤四.注册 主要是在“步骤一.PrintManager数据库安装”碰上了问题。 问题1: PrintManager数据库需要安装在有Sql Server的机器上,所以得先安装Sql Server。 安装SQL Server2000时,系统弹出一个警告信息框,显示"以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机!"。 重启后问题依旧。 于是上google搜索: 出现最多的文章是"一次SQL Server 2000 安装奇遇",但却不知所云,文章并没找到问题实质; 继续搜索,终于找到答案了,删除HKEY_LOCAL_MACHINE YSTEMCurrentControlSetControl ession ManagerPendingFileRenameOperations即可。 造成问题的直接原因牵涉到一个老问题————PsDriver,参看附录。 问题2: 安装SQL Server2000后,继续安装PrintManager数据库,提示错误"[DBNETLIB][Connection(Connect()).]SQL Server does not exists or access denied." 查阅PrintManagerde文档,原来是PrintManager要求Sql Server的sa用户必须设置口令,于是不得不重装一次Sql Server。 由于只是想看看PrintManager是如何工作的,所以注册与否并不重要。不过用SoftIce简单跟了下,PrintManager的注册保护似乎并不是很复杂,有空时可以试试。 附录:PsDriver的老问题 PsDriver是很久以前的东西了。 简单地讲,PsDriver就是在Window2000下,创建一个虚拟打印机,其他的Application可以方便地通过这个打印机生成PS文件,再加上Acrobat Distillr的配合,就可以生成PDF了。 现在由于Print Manager的缘故又把它牵扯出来了,尽管目前涉及的只是个小问题而已。 PsDriver是调用AddPrinterDriver来安装打印机的。 AddPrinterDriver的调用者只需要把有关的驱动程序拷贝到目录:%SYSTEM% pooldriversw32x86 调用AddPrinterDriver时,系统会把这些文件拷贝到目录:%SYSTEM% pooldriversw32x863 具体到PPD: 第一次安装时,系统把PPD文件拷贝到"%SYSTEM% ystem32 pooldriversw32x863"下,并生成一个BPD文件。当重复安装时,系统会根据PPD文件的修改日期来决定是否更新PPD。如果PPD是新的,替换掉旧的PPD,也就是再拷贝一次;否则,do nothing! 现在的问题是,如果最开始提供的PPD文件是只读的话,系统只是拷贝文件,文件属性不会改变。当需要更新PPD时,因为"%SYSTEM% ystem32 pooldriversw32x863"下的PPD也是只读的,系统拷贝将会失败!!! 于是,系统会修改注册表,在: HKEY_LOCAL_MACHINE YSTEMCurrentControlSetControl ession Manager 下写入一个键值: PendingFileRenameOperations = "??C:WINNT ystem32 poolDRIVERSW32X863Newtest.ppd??C:WINNT ystem32 poolDRIVERSW32X863test.ppd??C:WINNT ystem32 pooldriversW32X863Oldtest.ppd??C:WINNT ystem32 pooldriversW32X863Old" 最后的尾巴没了,可以看出,前面一段是指出在系统重启时,用C:WINNT ystem32 poolDRIVERSW32X863Newtest.ppd覆盖C:WINNT ystem32 poolDRIVERSW32X863test.ppd,这样以达到更新PPD的目的。 注:这是典型的安装驱动的处理策略,但在目标文件是可读的情况下,这样是行不通的。 后面一段代码尾巴没了,不明所以。 重启机器后,实际的情况为: PendingFileRenameOperations = "??C:WINNT ystem32 pooldriversW32X863Oldtest.ppd" 显然这是不合语法的,而且只能手工删除,正是它的存在,导致了上述SQL Server的安装错误!!! 补充一下,这个问题早已经处理过了,就是在安装时,去掉PPD的只读属性即可。现在之所以碰到问题只是因为注册表里的垃圾没清理干净而已。 过几天整理一下PsDriver,弄一个比较友好的小工具出来。 (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |