zoukankan      html  css  js  c++  java
  • WindowsService 安装后报错: 无法启动计算机“.”上的服务 解决方案

    问题 : 根据客户的需求做了一个小程序,需要有对WindowsService 安装,卸载,启动,停止的操作。

    编译好之后在我的工程内直接Run 没问题。直接在inDebug 点小程序运行,任何操作也没问题。

    由于客户要求免安装。

    于是我把Debug 文件夹拷到桌面上运行,其他功能都ok,但是涉及到WindowsService的时候启动总是报错:“无法启动计算机“.”上的服务”。

    追错思路:
    于是桌面上程序的安装好了服务之后:1。用bin文件夹下的程序来启动也是这个错;2,用工程直接跑起来启动也是报这个错。

    于是把服务卸载。用工程跑起来或者bin文件夹下安装好服务,然后分别用桌面上的程序启动,没问题。其他操作也都正常。

    于是断定 在桌面上的程序安装服务的时候出了问题。但是到底是出了啥问题,偶是百思不得其解,到网上搜,也找到解决方法。
    在此请各位路过的大侠集思广益,帮小妹解决这个麻烦。
    不胜感激。
    补充一下,手动启动时也是报这个错误,没有多余的错误信息了,╮(╯▽╰)╭。

    个人感觉是权限分配的问题,但又不知如何下手。先自己捣鼓捣鼓去。

    哎,问题解决了,但原因还不清楚到底为什么,等有空了再回来研究研究。

    解决方法:把桌面上的目录移到D盘根目录(或者其他正常的目录应该也可以)就可以了。

    一般是账户权限的问题,你放服务应用程序的folder没相应权限

    今天在客户这发布后又出现了这个问题,仔细研究了一下,发现在安全里,把Authenticated Users这个用户添加上就不报错了。问题又来了,怎样在代码里把权限加上呢

    目前终于算是把这个问题给清了,解决方式是,调用安装方法之前在程序里调用dos命令:
     CACLS Comm.dll /G Everyone:F 
    紧跟着再输入一个Y,权限就赋好了。

    烦了我这么长时间的一个问题终于解决了,分一下分,以示庆祝。(^o^)/

    参考:  http://bbs.csdn.net/topics/340228918 

  • 相关阅读:
    STM32——项目需求之低功耗的停机模式
    sscanf函数——强大的C语言库函数
    二级指针偏移
    RTX基础教程目录
    #pragma pack(push) 和#pragma pack(pop) 以及#pragma pack()
    Write thread-safe servlets [reproduced]
    C++程序员如何转Java
    How to implement equals() and hashCode() methods in Java[reproduced]
    The Java Enum: A Singleton Pattern [reproduced]
    VS Code
  • 原文地址:https://www.cnblogs.com/Impulse/p/4958554.html
Copyright © 2011-2022 走看看