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

smi*_*tra 11 windows installation service

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

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

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

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

  1. 已验证登录用户是管理员的成员.
  2. 已验证用户帐户设置与其工作的另一台计算机完全相同.
  3. 从控制面板验证 - 管理工具 - 本地安全策略 - 本地策略 - 安全选项=这些再次匹配它工作的机器.
  4. 确保已应用所有Windows更新.
  5. 已验证Windows Management Instrumentation Service正在运行.重新启动它.
  6. 重新启动机器,然后再次尝试.
  7. 在服务配置文件中添加了"generatePublisherEvidence"元素.(服务无法启动错误1920)

但上述工作都没有.

希望其他人遇到类似的问题,并有一个修复..

更新:

我也尝试过以下方法:

  • 打开SecPol.msc
  • 导航到"本地策略/用户权限分配"
  • 找到"作为服务登录"策略并添加服务帐户

Chr*_*ter 14

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

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

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

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

  • 您对 GAC 或 WinSXS 缓存中的文件有任何依赖吗?这可能会导致竞争条件。我通常做的是获取 ServiceControl 记录,然后让产品安装。然后尝试在和/或附加调试器以配置服务之后手动启动。一旦你弄清楚了,你就可以把 ServiceControl 记录放回去。 (2认同)
  • 我(错误地)假设InstallShield安装程序正在检查框架4.5依赖项.它不是.它检查了4.0,但不是4.5.在机器上安装框架4.5可以解决问题. (2认同)

Mar*_*kus 5

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