2010-07-21 84 views
4

我有一个相当复杂的工具链等了漫长的后期制作,直到得到的问题:的Windows 7服务差异

我设法得到的PDFCreator和虚拟PDF运行Windows 7下创建打印机在服务器模式下作为服务。该过程中的下一步是在创建PDF后,PDFCreator调用VBScript。该脚本通过WebService将PDF上传到我们的服务器,并轮询服务器以获取PDF。当下载得到的PDF时,VBScript需要将其打印到配置好的打印机。

现在打印我用的PDFCreator综合COM对象,它可以访问GhostScript的。对于PDFCreator服务启动的任何帐户,这完全适用于Windows XP。例如作为域用户接入到从VBScript的共享的打印机,当用户上下文是相同的PDFCreator服务。

现在,我尝试同样适用于Windows 7和使用“本地系统”账户之前,因为我的测试打印机是本地一个(和作品,即TestPage)。效果是wscript停留在任务管理器中并且永远不会结束。接下来,我为该服务激活了交互模式,并激活了一台锯Ghostscript,要求打印机进行打印。打印机确实存在,因为我调用的VBScript中的GS前检查,而是出于任何原因GhostScript的没有看到打印机虽然在打开的对话框来选择打印机时,打印机是存在的。

经过长达数天的搜索,甚至没有成功尝试一个新的服务器管理员帐户,但没有成功,我终于想出了一种方法来实现它。更改用户的PDFCreator的服务,以“现场服务”我第一次得到了一个错误的PDFCreator的COM对象创建失败。好吧,我想这是有道理的,因为“现场服务”有“区域系统”少权。通过更改comexp.msc下的访问权限并为本地和远程COM和脚本访问授予“本地服务”权限,我解决了此限制。 Voilá,一切正常。

我不明白:为什么“本地服务”帐户下的Ghostscript能够找到打印机,尽管该帐户拥有的“本地系统”权限较少?

并且:我需要为“本地系统”或任何其他用户帐户设置哪种访问权限才能使其正常工作?

或者:是否有这些帐户之间详细差异的综合列表?

非常感谢你和格尔茨, GHAD

回答

3

答案可以在这里找到:KB184291

这是关于ASP/IIS“本地系统”帐户下运行,不能打印,因为打印机不可用在.DEFAULT用户下。通过注册表项复制有助于。

Greetz, GHad