sc.exe创建的Windows Service在第一次运行的时候,要重新输入一遍密码
我做了一个程序,里面需要需要安装一个Windows服务,于是我用ShellExecute调用sc.exe执行:
创建myservice语句如下:
C:/WINDOWS/system32/sc.exe create myservice binPath= "my.exe" start= demand obj= "mydomain\kk" password= "111"
执行后,在services列表里会出现myservice这个服务,但是却无法启动它。
无论是用语句 C:/WINDOWS/system32/sc.exe start myservice 还是右键点击myservice后点击“启动”菜单,都无法启动。
然后我右键myservice,点击“属性”,选择“此账户”,用户名不变,但是重新输入一遍密码并确认后,无论用语句还是手动启动这个服务,就都没有问题了。
但是问题最奇怪的是,只有在新机器上第一次安装和启动这个服务的时候,才需要重新输入一遍密码。一旦启动成功。无论我怎么样反复启动/停止服务,反复安装/卸载这个服务,都没有这个问题了。而且在WinXP/WIN7/WIN10上都有这个问题。
看起来难道是Windows的Bug?因为同样的语句,执行第二次安装/启动的时候,就没有这个问题了,这是为什么呢?照理来讲,Windows应该不会出现这么弱智的问题呀。。。恳请指教!