使用COM +将ASP站点移动到IIS 8.5

时间:2015-03-13 15:13:09

标签: delphi iis asp-classic com+ windows-server-2012-r2

拥有一个较旧的经典ASP网站,其中包含三个COM +进程,网站可以访问这些进程来创建PDF文件报告。

从IIS 6 / Server 2003迁移到IIS 8.5 / server 2012 R2。两个操作系统都是64位。到目前为止一切正常,除了COM +容器继续返回“没有指定默认打印机”错误。

COM +的进程标识都设置为本地用户,我已为其设置了默认打印机(两者都是Bullzip PDF)。它们也在与IIS的单独进程中运行。当我在任务管理器中看到COM +时,他们都会在那里显示这个用户。 COM +是传统的32位(用Delphi编写)并且已经正确注册等等。

该服务的IIS标识设置为2003(它工作的地方)和2012R2的本地系统,但它没有。

不是它应该有所作为,但旧的2003 VM在Amazon EC2上,而新的2012R2 VM在Azure上。

我正在试图找出为什么COM +没有为进程标识帐户选择默认的打印机集。两台计算机之间的所有COM +设置完全相同,但帐户除外,这些帐户已更改名称,但都是设置了默认打印机的计算机管理员。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

我找到了问题的答案:

http://support.microsoft.com/en-us/kb/184291

必须使用正确的默认打印机进入计算机帐户,并从HKCU导出与端口,驱动程序和所选默认打印机对应的注册表项。

然后编辑.REG文件以将 HKEY_CURRENT_USER 更改为 HKEY_USERS \ .DEFAULT - 然后双击每个以将新密钥上传到注册表中。这将设置一台机器默认打印机,COM +对象将为他们提供此信息,并且!问题解决了。

感谢那些帮助我进入正确框架的评论者,从正确的角度来看待这个问题。