这里是附着在自定义事件 计划任务 EventLog
,它执行下面的几行:
reconnect.cmd
C:\ WINDOWS \ SYSTEM32 \ RASPHONE -f “phone_book.pbk” -D “vpn_connection”
净停止my_windows_service
NET START my_windows_service
该任务后容易正常运行没有错误。 但有时它会返回错误The application failed to initialize properly (3221225794)
该任务配置在其下运行system
帐户,它应该拥有所有必需的权限来运行批处理脚本。
为什么我总是收到此错误? 哪些原因会导致它,我怎么调试呢?
编辑:启动选项
该任务使用"D:\"
作为工作目录/启动位置。 该reconnect.cmd脚本位于"D:\"
。 可这是原因?
我今天早些时候发布的这篇文章如何解码错误试图绑定到一个AD用户对象时的错误2147463168
//
// MessageId: STATUS_DLL_INIT_FAILED
//
// MessageText:
//
// {DLL Initialization Failed}
// Initialization of the dynamic link library %hs failed. The process is terminating abnormally.
//
#define STATUS_DLL_INIT_FAILED ((NTSTATUS)0xC0000142L)
3221225794 = 0xC0000142(使用计算器)
这应该识别哪个过程(CMD或RASPHONE)和DLL。
您也可以开始调试。
WinDBG的或NTSD(NTSD是一个控制台程序也许安装)。 两者也可从Windows调试工具。
下载并安装Windows调试工具
http://msdn.microsoft.com/en-us/windows/hardware/hh852363
安装Windows SDK,但只要选择调试工具。
创建一个文件夹用C称为符号:\
启动Windbg
。 文件菜单- 符号文件路径 ,并进入
srv*C:\symbols*http://msdl.microsoft.com/download/symbols
然后
windbg -o -g -G C:\windows\system32\cmd.exe /k d:\batfile.bat
您可以按F12键停止并KB会显示调用堆栈(G继续程序)。 如果有错误,它也将停止,并告诉他们。
不知道为什么,但在运行的任务SYSTEM
帐户是原因。 当我们改变单纯帐户local admin
的任务完美运行。
文章来源: Getting the `The application failed to initialize properly`/3221225794 error executing a batch file