这个问题与我之前的问题有关 Excel 进程的最大数量?,但行为不同。
简而言之:有一个 COM+ 组件在启动时会打开许多 Excel 进程。句柄被添加到列表中,因此它们不会超出范围或被垃圾收集。
如果我在本地运行此组件(Windows 7 64 位,12 Gb 内存),它可以正常启动,并且可以毫无问题地打开 30 个 excel 进程。
如果我在(虚拟)服务器(windows server 2003 R2 SP2 64 位,4 Gb)上运行此组件,则前 21 个 excel 进程正确启动,但未创建其余 9 个进程;在事件日志中,我看到 9 次以下错误:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005.
所以创建最后 9 个 excel 进程会导致异常,它似乎达到了 21 个 excel 进程的限制。
如果我在另一台服务器(Windows Server 2003 SP 2、1 Gb RAM)上尝试它,它会创建 22 个 excel 进程和 8 个因相同异常而失败的进程。
我想知道是什么导致这些服务器上的 excel 进程创建失败?
编辑:如果我使用开始菜单手动打开它们,我可以毫无问题地打开 30 个 excel 实例。
有任何想法吗?
谢谢, L