微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何强制 C# windows 服务自动以管理员权限执行?

如何解决如何强制 C# windows 服务自动以管理员权限执行?

我有一个用 C#/.NET 编写的控制台应用程序。我将此应用程序用作 Windows 服务。此 Windows 服务需要具有管理员权限才能执行其逻辑。

我所做的是向我的项目添加一个“app.manifest”文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

我还以如下两种不同的方式配置了“app.manifest”的属性,然后编译并发布了我的项目:

配置 1: 构建操作:无 复制到输出目录:始终复制

配置 2: 构建操作:嵌入式资源 复制到输出目录:始终复制

但是,当我将此应用程序安装为 Windows 服务并执行它时,由于缺乏管理员权限而失败。我仍然可以通过windows服务的'Properties->logon'面板引入管理员凭据,但我想避免这一步并强制该服务认以管理员权限执行。

你能帮忙吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。