c# - UAC 和通过 Windows 服务执行作业
问题描述
我有一个执行其他工作的自定义服务。需要让它与 UAC 一起工作。
对于我正在调用的其中一个应用程序,我在清单中添加了以下行:
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
尝试从服务调用此 EXE 时,出现错误:失败:请求的操作需要提升
这是调用EXE的代码,它非常通用:
p.StartInfo.UserName = szUser
p.StartInfo.Domain = szDomain
p.StartInfo.Password = securePassword
p.StartInfo.WorkingDirectory = sStartPath
p.StartInfo.FileName = jobExecutable
p.StartInfo.Arguments = jobArguments
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardInput = False
p.Start()
-- MORE CODE
那么,我需要采取什么措施来允许单个程序从非交互式服务“以管理员身份运行”?Windows 服务是否需要它自己的管理员清单?这会解决问题,还是需要其他代码更改?
解决方案
推荐阅读
- javascript - 如何解决使用mailto时不显示正文中的换行符?
- java - 在一行中读取具有多个值的属性
- bash - 如何重新启动 if 语句
- microsoft-graph-api - 导出消息遇到“该项目以只读模式打开。”
- sql - 带有子查询的 SQL DELETE / UPDATE
- c++ - gcc链接器找不到链接库
- react-native - 使用 react-native-community/voice 在 React Native 中语音转文本
- sql - Flutter 如何将编码为 SQFL 数据库的字符串的列表简洁地转换回列表?
- machine-learning - 自然语言处理 (NLP) 的所有算法列表是什么?
- python - 如何停止特定数量的线程