我想向用户/所有人授予我的服务权限。我可以使用 subinacl 来授予此类权限,但不知道如何在 Installer 类中为其编码?
而且,如果我想向 comp 上的每个用户授予权限,我可以使用“Everyone”作为用户吗?
什么是系统没有任何用户 - 我的意思是在没有任何用户的 XP 上,那么如何处理相同的。
请尽早帮助我。非常感谢任何帮助。
编辑: 为了授予许可,我发现了这个:http ://ss64.com/nt/subinacl.html 和这个 。我在 cmd 上尝试过,它有效。我写了以下内容来实现它:
WshShell shell = new WshShellClass();
object wf = IWshRuntimeLibrary.WshWindowStyle.WshHide;
//object ws = IWshRuntimeLibrary.
if (allusers)
shell.Run("subinacl /SERVICE \"OpenVPNService\" /Grant=Everyone=TO", ref wf, true);
else
shell.Run("subinacl /SERVICE \"OpenVPNService\" /Grant="+ Environment.UserName +"=TO", ref wf, true);
shell = null;
最后一个参数给出问题。我只需要传递一个 ref obj。它代表是否显示窗口。检查这里我得到错误“参数3:无法从'bool'转换为'ref object'。知道在第三个参数中给出什么。