Windows 使用 sc create 启动时程序没有 运行
Windows program doesn't run when started using sc create
我创建了一个程序,它应该运行 作为 Windows 服务,在启动时自动启动。
我还创建了一个启动器,它应该创建一个服务然后停止。
初学者是 运行 管理员。
我从初学者调用这个系统命令:
system("sc create MyApp binpath= /*full path*/ type= own start= auto DisplayName= MyService");
system("sc start MyApp");
然后Windows表示服务创建成功。
然而,应该运行作为服务的程序却没有启动!
在 "sc start" 命令后,控制台有一段时间没有显示,任务管理器显示 "Starting",稍后控制台显示
"Error 1053: The service did not respond to the start or control request in a timely fashion".
我试过 运行 执行这样的命令,显示在 Whosebug 上的另一个 post 中:
sc create SERVICENAME binPath= "**cmd /c** c:\programlocation\program.exe"
但是,然后它说:
StartService Failed 2: The system cannot find the file specified.
所以 **cmd /c**
东西不起作用。
如何让它工作,请只使用Windows本机工具,不要使用外部程序。
你可以做这样的事情:
但我会切换到 C++/CLI 并从 C# 移植以下代码示例:
System.ServiceProcess.ServiceProcessInstaller
或者,更好的是,只需在 C# 中执行代码的 Windows 服务部分...这比在 C++ 中自己编写要容易得多。
我创建了一个程序,它应该运行 作为 Windows 服务,在启动时自动启动。
我还创建了一个启动器,它应该创建一个服务然后停止。
初学者是 运行 管理员。
我从初学者调用这个系统命令:
system("sc create MyApp binpath= /*full path*/ type= own start= auto DisplayName= MyService");
system("sc start MyApp");
然后Windows表示服务创建成功。
然而,应该运行作为服务的程序却没有启动!
在 "sc start" 命令后,控制台有一段时间没有显示,任务管理器显示 "Starting",稍后控制台显示
"Error 1053: The service did not respond to the start or control request in a timely fashion".
我试过 运行 执行这样的命令,显示在 Whosebug 上的另一个 post 中:
sc create SERVICENAME binPath= "**cmd /c** c:\programlocation\program.exe"
但是,然后它说:
StartService Failed 2: The system cannot find the file specified.
所以 **cmd /c**
东西不起作用。
如何让它工作,请只使用Windows本机工具,不要使用外部程序。
你可以做这样的事情:
但我会切换到 C++/CLI 并从 C# 移植以下代码示例:
System.ServiceProcess.ServiceProcessInstaller
或者,更好的是,只需在 C# 中执行代码的 Windows 服务部分...这比在 C++ 中自己编写要容易得多。