Tag: 提升权限

使用提升的权限进行调试时,Marshal.GetActiveObject(“Outlook.Application”)会抛出MK_E_UNAVAILABLE

当Visual Studio未作为管理员启动时,此代码在版本r调试中运行没有问题。 Marshal.GetActiveObject(“Outlook.Application”); 但是,当我以管理员身份启动Vs并在调试中运行相同的行时,我收到以下错误: System.Runtime.InteropServices.COMException Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE)) 我怎样才能解决这个问题。

我可以修改Win7环境以允许.Net程序始终以管理员身份运行吗?

我们将推出数百台运行Windows 7的新机器,并通过WDS安装操作系统,以便我们可以进行更改并将它们系统化到构建中。 问题是我们几年前写的一个.Net应用程序,它自己生成一个修改过的命令shell。 该shell运行一个dataflex应用程序,该应用程序本身需要以提升的权限运行。 我们不授予用户任何一般管理员权限。 是否存在一种机制,我们可以预先允许我们的.Net应用程序以管理员身份运行,以便命令控件以管理员身份运行? 我知道我可以在app.manifest中进行的更改,要求程序以管理员身份运行。 我不知道我(作为管理员)如何配置机器以允许这种情况发生,而不会给予用户比我希望他们拥有的更多权限或凭据。

C#在运行时提升程序

我有一个C#程序,我希望某些function需要管理员密码。 为了解决这个问题,我启动了另一个应用程序实例作为提升过程并将命令行参数传递给它,因此进程知道它必须执行什么任务。 Process proc = new Process(); proc.StartInfo.Arguments = “PARAMETERS HERE”); proc.StartInfo.FileName = Application.ExecutablePath; proc.StartInfo.UseShellExecute = true; proc.StartInfo.Verb = “runas”; proc.Start(); 这工作正常,但我有一个小问题。 我刚刚注意到,弹出启动新进程的UAC提示不仅显示应用程序名称和路径, 还显示传递给它的命令行参数。 这样,用户可以看到传递的参数,并直接从run命令或command prompt传递参数。 有什么办法可以防止这种情况吗? 或者更好的方法来提升正在运行的程序?

重启程序无法获得

出于某种原因,我的C#程序需要以提升的权限重新启动。 我使用以下代码来实现它: private static void RestartForPermissionsFix() { ProcessStartInfo processInfo = new ProcessStartInfo(); processInfo.Verb = “runas”; processInfo.FileName = Assembly.GetExecutingAssembly().Location; Process.Start(processInfo); } 这很好用。 在我“修复我的权限”之后,我想重新启动程序。 没有“runas”,我尝试了同样的方法,但它不起作用。 我假设从提升的进程启动的进程自动boost。 任何的想法?

从配置文件强制应用程序到Admin

有没有办法在配置文件中添加设置,以便该应用程序始终以管理员身份启动? 非常感谢。