我开发了一个使用Excel 2007 COM自动化转换某些xls文件的服务器应用程序。它作为Windows Datacenter实例上的服务启动,在其自己的用户下运行,我不得不更改DCOM安全设置(“作为交互式用户启动”)以使其正常工作。
问题是,当我注销(通过RDP)时,它会停止工作。我登录,它再次运作。
有没有人有同样的问题?我很高兴在这一点上有任何帮助。
答案 0 :(得分:8)
好的,所以我无法让Excel在没有交互式用户的情况下运行,没有任何DCOMCNFG技巧可以做到。因此,我只是为运行该服务的用户配置了自动登录(有关说明,请参阅http://support.microsoft.com/kb/315231)。
这具有以下效果:在服务器启动时,该用户将作为交互式控制台会话登录。与RDP会话不同,这是永久性的,让Excel感到高兴。
对于那些必须做类似事情的灵魂灵魂的其他暗示:
答案 1 :(得分:2)
有一个名为Excel Services的东西,可以使用SharePoint将Excel作为服务运行,这样就可以无人值守地运行,无人登录。
答案 2 :(得分:2)
我遇到过这个问题,我发现答案实际上在DCOM Configuration.
我做了以下事情来解决问题:
Identity
标签This User
您可能需要转到Security
标签,并确保您上面指定的用户具有相应的权限。
执行此操作后,我仍然可以在使用Excel COM Automation库时注销服务器。
答案 3 :(得分:0)
如果运行EXCEL的帐户是管理员,那么这将有效:
对于64位(x64),创建此文件夹:C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop 对于32位(x86),请创建此文件夹:C:\ Windows \ System32 \ config \ systemprofile \ Desktop 否则要解决此问题,请执行以下步骤:
答案 4 :(得分:0)
服务器端:
A)将“互动用户”切换为“此用户”。
B)“此用户”仅适用于创建这些文件夹:
C)等待...步骤B)触发Windows自动创建:
请注意,“交互式用户”的定义是捎带在服务器的活动登录用户身上。因此,当服务器上没有用户处于活动状态时无法启动MS Office。
对我而言,解决方案是已经提出的解决方案的混合体。我在Win 2012R2上使用了Office 2013(x86)。我的问题是使用Word(使用WordToPDF)。步骤B的详细信息:
步骤C的详细信息: