【问题标题】:Windows Service Error: Installog access is DeniedWindows 服务错误:Installog 访问被拒绝
【发布时间】:2011-03-28 13:26:12
【问题描述】:

通过命令提示符安装 Windows 服务时出现以下错误

Access to the path 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.In stallLog' is denied.

我正在使用以下命令:

C:\Windows\Microsoft.NET\Framework\v2.0.50727>installutil.exe "C:\Hive-WindowsService\HiveBatchProcess\HiveBatchProcess\bin\Debug\HiveBatchProcess.exe" -i

可能出了什么问题?

【问题讨论】:

  • 检查 installutil.installlog 和属性的权限:命令是 -- cacls C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.InstallLog -- 和 --attrib C:\Windows \Microsoft.NET\Framework\v2.0.50727\InstallUtil.InstallLog -- 确保文件不是只读的并且 ACL 正确。
  • 嘿 Seva Titov,我是这个 Windows 服务的新手,所以您能提供有关我应该在哪里执行此服务的信息吗? VS2008 命令提示符还是 Windows 命令提示符?
  • 这两种方法都可以。只要确保您运行提升的命令提示符(右键单击 -> 以管理员身份运行)。
  • 谢谢它的工作。我没有以管理员身份打开命令提示符,因此它没有授予我安装服务的权限。 :) 无论如何谢谢。

标签: .net windows-services installation


【解决方案1】:

你有管理员权限吗?尝试通过以管理员身份启动命令提示符来运行服务设置。

【讨论】:

  • 我以管理员身份运行它。但是错误仍然没有得到解决。有什么问题?
  • 谢谢它的工作。只需右键单击 VS2008 命令提示符并单击以管理员身份运行。谢谢费利斯波拉诺。 :)
  • 运行installutil.exe 并不绝对需要管理员权限。它只是挂钩到正在安装的可执行文件中的安装代码 - 因此所需的权限取决于该可执行文件。问题中指定的错误消息只是关于创建日志文件的权限,不需要需要以管理员身份运行。请参阅下面的答案...
  • 我必须以管理员身份运行 Powershell,然后安装该服务。
【解决方案2】:

尝试从不同的目录运行(例如 %TEMP%)——它只需要访问权限即可将日志文件写入当前目录,默认情况下非管理员无法写入 {{c:\Windows}} 子目录.

例如:

cd %TEMP%
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe" "C:\Hive-WindowsService\HiveBatchProcess\HiveBatchProcess\bin\Debug\HiveBatchProcess.exe" -i

根据 HiveBatchProcess.exe 中的安装逻辑执行的操作,您可能需要也可能不需要其他权限(例如注册表访问、对其他目录的写入访问等)。但运行installutil.exe 并不严格要求管理员权限。

【讨论】:

    【解决方案3】:

    cd "%temp%" 然后 "C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe" "\ourServiceexe.exe"

    我将服务密码更改为服务器的管理员密码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 2015-01-27
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多