【问题标题】:Word COM in scheduled task on Windows ServerWindows Server 上计划任务中的 Word COM
【发布时间】:2015-04-27 20:22:21
【问题描述】:

我有一个使用 COM 自动化 Word 的应用程序。即使用户未登录,它也需要运行。我在 Windows 7 上通过使其作为计划任务运行来实现这一点,该任务在启动时运行并且不需要用户登录。我还必须使用“hack”,在“C:/Windows/SysWow64/config/systemprofile”中添加“Desktop”文件夹。

我在 Windows Server 2012 中尝试过同样的方法,但它不起作用。我可以在任务计划程序中看到应用程序正在启动 Word 实例。但是,它随后似乎“挂起”并且没有任何反应。我想也许 Word 的不可见实例正在显示一条错误消息,导致整个事情挂起,因为我无法关闭该消息。

是否有其他人无法让 COM 在 Windows 服务器上运行?有没有办法显示隐藏的 Word 实例以查看是否显示错误对话框?或者任何其他诊断问题所在的方法?

我知道理想情况下,我们应该有一个无需使用 COM 就可以创建 word 文档的应用,但目前这不是一个选项。

【问题讨论】:

    标签: windows ms-word automation windows-server-2008 server


    【解决方案1】:

    您的应用在以登录用户身份运行时是否正常工作?

    过去我在运行尝试使用 COM 接口的程序时遇到过类似的问题;一些任务可以工作,但其他任务根本无法运行,除非以登录用户身份使用交互式桌面运行。

    对我来说,最简单的解决方案是将机器设置为在启动时以用户身份登录(您可以在控制面板中进行设置 - 或者我认为现在可能还有一个支持配置的 sysinternals 工具),然后确保任务调度程序/Jenkins/无论您使用什么都以登录用户身份启动应用程序。

    【讨论】:

    • 感谢您的回答,我会试试这个。让用户自动登录是否存在任何安全隐患?
    • 只要对机器的远程访问(例如远程桌面或您用来远程启动进程的服务)得到充分保护,并且机器是无头的(或者没有对控制台的物理访问),我不知道任何安全隐患。我想要考虑的一件事是确保在用户登录时启动的后台应用程序(如软件更新程序)在您不期望的情况下不会对系统进行任何更改。
    猜你喜欢
    • 2011-08-04
    • 2013-04-05
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2012-08-11
    • 1970-01-01
    • 2012-07-08
    相关资源
    最近更新 更多