错误1920服务无法启动。验证您是否具有足够的权限来启动系统服务

时间:2013-11-19 00:50:23

标签: windows service installation

我们已经创建了一个自定义Windows服务。部署包在InstallShield中完成,安装程序会提示输入服务登录帐户的用户名和密码。

我们在各种Windows 7(专业版)和Windows 8计算机上都没有遇到任何问题,但在尝试部署到Windows 7 Ultimate计算机时遇到了1920错误。我们尚未确认该问题是否与操作系统或我们尝试安装此功能的特定计算机有关。

安装程序始终通过右键单击和“以管理员身份运行”运行,并且用户(运行安装程序的用户和提供凭据的登录用户)都是计算机上的管理员。通常,安装服务的登录用户和运行服务的登录用户是相同的。

以下是我们尝试过的事情。

  1. 已验证登录用户是管理员的成员。
  2. 已验证用户帐户设置与其运行的其他计算机完全相同。
  3. 从控制面板验证 - 管理工具 - 本地安全策略 - 本地策略 - 安全选项=这些再次匹配机器的工作位置。
  4. 确保已应用所有Windows更新。
  5. 已验证Windows Management Instrumentation服务正在运行。重新启动它。
  6. 重新启动机器,然后再试一次。
  7. 在服务配置文件中添加了“generatePublisherEvidence”元素。 (Service failed to start error 1920
  8. 但上述工作都没有。

    希望其他人遇到过类似的问题并有解决方法..

    更新:

    我也尝试了以下内容:

    • 打开SecPol.msc
    • 导航到“本地政策/用户权利分配”
    • 查找“作为服务登录”政策并添加服务帐户

10 个答案:

答案 0 :(得分:13)

1920是一般错误代码,表示该服务未启动。我的预感是:

http://blog.iswix.com/2008/09/different-year-same-problem.html

要确认,在安装程序中止,重试,忽略,取消对话框...进入services.msc并手动设置用户名和密码。如果您收到一条消息,指出用户已被授予登录为服务权限,请尝试在MSI对话框上点击重试,看看它是否已启动。

它也可能缺少代码中抛出的依赖项或异常。

答案 1 :(得分:5)

确保在开始安装/卸载之前关闭所有服务窗口

答案 2 :(得分:3)

我也有同样的问题。我通过安装.NET framework 4.5版来解决这个问题。

答案 3 :(得分:1)

在我的情况下,服务无法启动,因为我没有在wix文件中设置Platform='x64'

我在事件查看器中看到了这些错误:

  

无法启动服务。

     

System.BadImageFormatException:无法加载文件或程序集'SOME_LIBRARY_FILE,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 33345856ad364e35'或其依赖项之一。

我尝试使用CorFlags.exe检查所有服务相关文件的位数。当我将安装程序更改为64 bit时,一切正常。

答案 4 :(得分:1)

解决方法:这也是我们在Windows Server 2012 R2中观察到的一个问题。我还没有找到原因或解决方案。这是我的工作。

在安装过程中显示错误时,请转到Services.msc。找到引发错误的服务,然后在服务的登录信息中重新输入密码。然后,点击"重试"在设置中。有用。

不会再次为同一用户显示错误。但是会针对不同的用户显示。

答案 5 :(得分:1)

检查服务依赖关系,如果已停用

将这些依赖项设置为“自动”,启动它们,它应该可以正常工作。

答案 6 :(得分:1)

在我的情况下,我不得不删除我的installshield项目中的服务,并从方块1开始。我的原始服务组件是手动添加的,我无法让它们正常工作,我得到的唯一错误是 "错误1920服务无法启动。验证您是否具有足够的权限来启动系统服务。" 。删除我的组件后,我使用组件向导重新添加它们 enter image description here

Component Wizard looks like this

我实际上必须创建两个新组件。一个是"安装服务"类型。

Service Component type shown here

enter image description here

我必须添加的另一个组件是" Control Service"类型。

enter image description here

我必须选择添加安装服务组件时设置的服务。enter image description here

之后它起作用了,尽管与我手动添加的组件没什么不同。当使用组件向导连接服务组件时,Installshield必须在幕后做一些事情。

所有这一切都与Install Shield 2016有关。

答案 7 :(得分:0)

我在另一个网站上找到了这个答案,但它确实对我有用,所以我想我会分享它。

在Windows资源管理器中: 右键单击文件夹OfficeSoftwareProtection Platform来自C:\ Program Files \ Common Files \ Microsoft Shared和Microsoft来自C:\ Program data(这是一个隐藏文件夹)属性>安全>编辑>添加>输入网络服务>好的>检查完整控制框>申请并确定。

在注册表编辑器(regedit.exe)中: 转到HKEY_CLASSES_ROOT \ AppID注册表>右键单击文件夹>权限>添加> Type = NETWORK SERVICE>好的>检查完全控制>申请>行

我在这里找到了这个回复::: https://social.technet.microsoft.com/Forums/windows/en-US/5dda9b0b-636f-4f2f-8e50-ad05e98ab22d/error-1920-service-office-software-protection-platform-osppsvc-failed-to-start-verify-that-you?forum=officesetupdeployprevious

最初是Jennifer Zhan发现的一种方法

答案 8 :(得分:0)

我在测试软件时遇到了这个问题。 司机没有签名。

我的提示是: 在cmd行:(管理员) bcdedit /设置TESTSIGNING ON  并重启机器(shutdown -r -t 5)

答案 9 :(得分:0)

打开事件查看器转到窗口日志 - >应用程序并在此错误之前查看错误,它将为您提供您希望解决的实际错误