转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
安装 PrintManager 和 SQL Server 所遇到的问题         

安装 PrintManager 和 SQL Server 所遇到的问题

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1054 更新时间:2007/11/14 12:58:13

安装 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\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations即可。

  造成问题的直接原因牵涉到一个老问题————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%\spool\drivers\w32x86

  调用AddPrinterDriver时,系统会把这些文件拷贝到目录:%SYSTEM%\spool\drivers\w32x86\3

  具体到PPD:
  第一次安装时,系统把PPD文件拷贝到"%SYSTEM%\system32\spool\drivers\w32x86\3"下,并生成一个BPD文件。当重复安装时,系统会根据PPD文件的修改日期来决定是否更新PPD。如果PPD是新的,替换掉旧的PPD,也就是再拷贝一次;否则,do nothing!

  现在的问题是,如果最开始提供的PPD文件是只读的话,系统只是拷贝文件,文件属性不会改变。当需要更新PPD时,因为"%SYSTEM%\system32\spool\drivers\w32x86\3"下的PPD也是只读的,系统拷贝将会失败!!!
  于是,系统会修改注册表,在:
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
  下写入一个键值:
  PendingFileRenameOperations = "\??\C:\WINNT\system32\spool\DRIVERS\W32X86\3\New\test.ppd\??\C:\WINNT\system32\spool\DRIVERS\W32X86\3\test.ppd\??\C:\WINNT\system32\spool\drivers\W32X86\3\Old\test.ppd\??\C:\WINNT\system32\spool\drivers\W32X86\3\Old"
  最后的尾巴没了,可以看出,前面一段是指出在系统重启时,用C:\WINNT\system32\spool\DRIVERS\W32X86\3\New\test.ppd覆盖C:\WINNT\system32\spool\DRIVERS\W32X86\3\test.ppd,这样以达到更新PPD的目的。
  注:这是典型的安装驱动的处理策略,但在目标文件是可读的情况下,这样是行不通的。

  后面一段代码尾巴没了,不明所以。

  重启机器后,实际的情况为:
  PendingFileRenameOperations = "\??\C:\WINNT\system32\spool\drivers\W32X86\3\Old\test.ppd"

  显然这是不合语法的,而且只能手工删除,正是它的存在,导致了上述SQL Server的安装错误!!!

  补充一下,这个问题早已经处理过了,就是在安装时,去掉PPD的只读属性即可。现在之所以碰到问题只是因为注册表里的垃圾没清理干净而已。

  过几天整理一下PsDriver,弄一个比较友好的小工具出来。


[Access]sql随机抽取记录  [Access]ASP&SQL让select查询结果随机排序的实现方法
[办公软件]如何让没有安装PowerPoint的计算机播放演示文稿  [办公软件]打开Office文档就提示安装的原因及解决方案
[网络安全]安装防火墙的十二个注意事项  [Sql Server]Win2003中安装Sql2000出现日志错误的解决办法
[Sql Server]SqlServer安装或删除出现挂起提示的解决方案  [Web开发]VS2005安装了SP1后发布项目存在的问题之解决方案
[Web开发]如何用.net打包自动安装数据库下篇  [Web开发]如何用.net打包自动安装数据库上篇
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台