关于c#:cannot open windows service on computer \\’.\\’ in windows application

cannot open window service on computer '.' in window application

我开发了一个窗口应用程序并创建了一个服务。我在窗口应用程序中使用编码启动服务,但出现错误,例如无法在计算机 '.'

上打开窗口服务

我使用了下面的代码。

ServiceController controller = new ServiceController("SeoMozScheduleService");

if (controller.Status == ServiceControllerStatus.Stopped)
{
    controller.Start();
}

如果我右键单击应用程序并单击以管理员身份运行,那么它对我来说很好......

相关讨论

  • 如果您发布了实际消息,而不是像消息这样的错误,这将有所帮助。 .有时可以用来表示本地机器。
  • 实际的错误信息是什么?
  • 可以正常启动服务吗?
  • 我收到一个错误,例如无法在计算机上打开 SeoMozScheduleService。
  • 是的,我可以手动启动服务。但是为什么我不能在编码中使用它。
  • 请帮助我,我卡在中间...
  • 如果我右键单击应用程序并单击以管理员身份运行,那么它对我来说很好......
  • 因此,如果您以管理员身份运行此代码,它会运行良好吗?
  • 是的代码很好..但我不认为这是用户必须右键单击并单击以管理员身份运行的解决方案

要在每次打开应用程序时自动执行此操作,您必须将清单文件添加到解决方案中,然后更新文件中的 requestedExecutionLevel 节点,使其如下所示:

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>

但是,如果启用了 UAC,更改此设置将导致系统每次提示您以管理员身份运行应用程序。

相关讨论

  • 这对我不起作用。只需以管理员身份运行 Visual Studio 或可执行文件即可解决此问题。

转到
c://Program Files/ApplicationFolder/.exe
右键单击 .exe 并转到 Properties 然后转到 Compatibility Tab 并检查 true to Run this Program as an administrator Level.

相关讨论

  • 我没有足够的声誉来投票,所以我只是在这里发表评论并说提升权限永远不是正确的解决方案,因为您的用户可能没有管理员权限。
  • 我以管理员身份在控制台中运行它,以及以管理员身份运行服务......并且该服务确实安装了,但直到我设置该属性后它才开始。哇,这是一种解脱!谢谢!
  • 我同意贾德尔。有许多服务器情况不涉及用户,但自动化任务在单个用户下运行。这就是 stackoverflow 之美的一部分——多个答案,其中一个可能最适合您的环境。
  • 只需在 web-api 中执行此操作 - 就不可能以管理员身份运行(在我的情况下是调试)...
  • @Tsury 除了您所说的之外,在较低权限就足够的情况下自动使用管理员权限只是一种不好的做法,对吗?

如果您使用的是visual studio,请关闭它并以管理员身份运行它重新打开visual sudio


这些解决方案都没有帮助我,因为如果我确实首先确保我在目标计算机上具有管理员访问权限,那将会有所帮助!我正在使用我的域管理员帐户取消并授予管理员对我的主帐户的访问权限。当我运行一些 ServiceController 代码来检查服务是否在远程计算机上运行时,在域管理员帐户下,一切都很好。当我将它作为我的主帐户时,它就不起作用了——即使以管理员身份运行 Visual Studio 也是如此。原来我在本地管理员组中没有我的主帐户的情况下进行测试... d\\'oh!


我在服务器上的计划任务中遇到了这个问题——检查"以最高权限运行"解决了这个问题。 (服务帐户当然必须具有管理员权限才能正常工作。)


应用程序可能不需要管理员权限。 Microsoft 管理控制台 (MMC)(包括服务管理单元)没有。 MMC 的清单具有:

<requestedExecutionLevel
    level="highestAvailable"
    uiAccess="false"
/>

它没有 level="requireAdministrator".

参见 c# - 如何创建/编辑 Manifest 文件? - 堆栈溢出,以获取将清单添加到项目的说明。

关于最小特权原则的文章非常多,包括以下几篇。

  • 最小特权
  • 什么是最小特权原则(POLP)? - 来自 WhatIs.com 的定义
  • 什么是最小特权原则(POLP)?信息安全与合规的最佳实践 \\\\\\\\|数码卫士
  • 什么是最小特权


    将 app.conf 中的框架版本更改为系统上安装的版本为我解决了这个问题。


以上是关于c#:cannot open windows service on computer \\’.\\’ in windows application的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>