我们使用 Silverlight OOB 应用程序打印订单和发票,通常使用 dopdf 等实用程序将它们以 pdf 格式写入磁盘。
最近,它停止工作了。所有访问磁盘的虚拟打印机驱动程序都报告访问冲突 - 即使“每个人”都可以完全访问该目录。
我怀疑这与今年 5 月 12 日发布的最新 Silverlight 版本 5.1.40416.0 有关 - 因为我知道它曾经可以运行,并且微软的发布历史记录中提到“Silverlight 中的漏洞可能允许特权提升”。
编辑:还有另一个与打印无关的症状。以前可以通过单击 mailto-Hyperlink 按钮来打开邮件程序。除了我在回答中提到的情况外,这个功能也已经失效了。
答案1
我找到了解决方法:
我可以使用完全相同的 SL 应用程序进行打印,只要
- 我不会在浏览器之外运行它,而是在浏览器内运行,或者
- 我通过浏览器运行它,但具有提升的权限。
在这两种情况下,都不会发生从打印机驱动程序对话框将 pdf 保存到磁盘的权限问题。
这种行为最近确实有所改变,我猜是最近的更新带来的。就我而言,我们可以接受这两种解决方案中的任何一种。