我有Windows Server 2003上运行的.NET控制台应用程序,为计划任务。

此使用Process类运行另一个小控制台应用程序,但它使用Process.StartInfo.Username冒充用户运行它。

如果是冒充的计划任务的管理员帐户,然后它的作品完美,但如果没有的话,我得到了错误:

  

“的应用程序未能正确初始化(0xc0000142)”

我曾尝试给用户“登录作为批处理作业”和“本地登录”,但这似乎并没有产生任何影响。 控制台应用程序不启动如模拟的用户,但随后将失败。

看进程监视器,它失败之前的最后的事件是:

  

Tool1.exe - 加载图像 - C:\窗口\ system32 \ KERNEL32.DLL - SUCCESS

我已经运行取决于工具和它报告,这是错误:

  

GetProcAddress的(0x77E40000 [C:\ Windows \ System32下\ KERNEL32.DLL], “FlsAlloc”)从称为 “C:\ Windows \ System32下\ MSCOREE.DLL” 在地址0x7900746D和由线程1返回0x77E6B49C。   退出 “C:\ stfinstall \ STF \工具\工具1 \ TOOL1.EXE”。(处理0xB3C)与由线程1代码1282(0x502)

如果有谁知道什么可能会造成这个错误,甚至更好的东西,我怎么能解决这个问题,请让我知道!

的替代方法的建议也欢迎

感谢:)

有帮助吗?

解决方案

因为我已经解决了这个,问题是,它没有进入计划任务运行在用户的桌面上,因此它失败。 管理员似乎能够以具有这样的访问。

我得到全面是有任务运行作为永久登录到框中的用户,所以访问桌面始终可用,而这个工程确定的方式。丑陋的我知道了!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top