当我尝试安装Windows服务时:
c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ installutil
我得到了,看起来是什么,一些成功的消息和一些失败的消息。部分向下:
An exception occurred during the Install phase.
System.ComponentModel.Win32Exception: The specified service has been marked for deletion
最后:
The Rollback phase completed successfully.
The transacted install has completed.
The installation failed, and the rollback has been performed.
服务在“服务”小程序中有一个条目,但它被标记为“已禁用”。当我尝试将其更改为其他状态时,出现“标记为删除”错误消息。
事件日志中没有消息。在installutil.exe创建的日志文件中没有任何用处(我相信它已写入当前工作目录)。
我没有指示这一点。我该怎么办?
答案 0 :(得分:82)
事实证明,如果在“服务”小程序中突出显示该服务,则安装可能会或可能会失败。最安全的做法是关闭服务小程序,安装服务,然后重新打开服务小程序。这真是太愚蠢了。
此外,请确保以管理员身份运行控制台。
答案 1 :(得分:9)
我遇到了同样的问题,对我来说问题是已经安装了同名服务。因此,为了安装新服务,我必须卸载旧服务。我正在学习如何创建和设置Windows服务,从而命名冲突。尝试首先通过以下方式卸载服务:
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil -u servicename.exe
一旦此语句成功执行,请安装您的服务,它应该成功,不会有任何回滚。
答案 2 :(得分:1)
有时会因许可问题而发生这种情况。 运行VS 2012的"开发人员命令提示符"作为管理员。 然后它会工作。
答案 3 :(得分:1)
右键单击命令提示符并选择 RUN AS ADMINISTRATOR
然后复制并粘贴:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe C:\TestService\bin\Debug\TestService.exe
TestService.InstallLog中的结果是:
Installing service TestService...
Service TestService has been successfully installed.
答案 4 :(得分:0)
添加更多支票和点数来解决上述问题。
如果存在问题,那么仍然存在 另一个检查站&解强> 服务启动时,服务会与服务控制管理器通信服务必须启动多长时间(服务的超时期限)。 如果服务控制管理器未收到"服务已启动"在此超时期限内通知服务, 服务控制管理器终止承载服务的进程。 该超时时间通常小于30秒。 如果不调整此超时期限,则服务控制管理器将结束该过程。 要调整此超时期限,请按照下列步骤操作: 1.转到开始>运行>并输入regedit 2.导航至:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control 选择控制文件夹后,右键单击右侧窗格并选择新的DWORD值 3.为新DWORD命名:ServicesPipeTimeout 4.右键单击“ServicesPipeTimeout”,然后单击“修改” 单击“十进制”,键入' 180000',然后单击“确定” 5.重新启动计算机
如果存在问题,那么服务代码中存在问题,由于您的方法/服务类调用,可能会发生无限循环。对每一行进行代码审查。
答案 5 :(得分:0)
此问题是由于安全性,您最好打开VS 2012的开发人员命令提示符:
作为管理员运行
并安装您的服务。它肯定会解决你的问题。
我试过了,问题就解决了。