我有一个应用程序打算在没有管理员权限的情况下运行,但在那种情况下失败了。我试图以管理员身份运行我的应用程序,然后运行。但这不是我想要的。
我想要的是一种在没有管理员权限的情况下调试我的应用程序的方法,以便我可以确定在以普通用户身份运行时导致它失败的原因...这样我至少知道原因是什么,并且可能在一种没有管理员权限的方式。
每当我运行Visual Studio 2015时,它都以管理员权限启动。无法摆脱标题栏中的(Administrator)
:
我试过runas /netonly /user:User devenv.exe
无济于事:
如果我尝试在另一个更受限制的帐户下运行VS2015,它会说它需要管理员权限,并且不运行:
单击“取消任务广告返回到Visual Studio”将不会返回到VS,而是将关闭。
问题是,当我运行没有管理员权限的应用程序时,它无法打开。没有消息。没有。但是当我尝试在Visual Studio中调试它时,它运行...因为VS本身只以管理员身份运行。
有没有管理员权限调试的方法?
Visual Studio安装有问题。它可以肯定无需管理员运行。但是,你可以解决这个问题。
如果您的应用程序很快失败,这当然不起作用,您将需要查看Visual Studio设置。
从一天到另一天,我遇到了与VS 2019相同的问题。
解决方案:
更改devenv.exe
(C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe
)的所有权:
devenv.exe
> Properties现在Visual Studio在没有管理员权限的情况下启动,因此也进行了调试。
所以问题是它仍然以管理员的身份打开VS,即使你只是打开你身边的空白VS IDE,我是对的吗?
请确保您未在启用兼容性故障排除或VS IDE快捷方式或devenv.exe的属性设置下启用“程序需要其他权限”:
https://superuser.com/questions/547810/how-to-turn-off-always-run-as-administrator-windows-8
有关此案例的其他信息。
我的IT系统非常受限制,通常我的VS在没有管理员权限的情况下启动。但是,为了允许我安装更新等,我请求将我的.exe放在以admin权限开头的软件列表中。那事发生了。适合更新。
因此,我认为,如果没有管理员权限,我怎么可能暂时启动我的VS.
尝试使用以下代码从控制台应用程序使用Outlook Interop时,我遇到了类似的问题:
Outlook.Application application = null;
// Check whether there is an Outlook process running.
if (Process.GetProcessesByName("OUTLOOK").Count() > 0)
{
// If so, use the GetActiveObject method to obtain the process and cast it to an Application object.
application = Marshal.GetActiveObject("Outlook.Application") as Outlook.Application;
}
else
{
// If not, create a new instance of Outlook and log on to the default profile.
application = new Outlook.Application();
}
// Return the Outlook Application object.
return application;
当VS(因此我的控制台应用程序)以管理员权限启动但Outlook不是时,我收到以下错误:
System.Runtime.InteropServices.COMException (0x800401E3): Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))
然后我尝试通过运行.exe文件直接从调试文件夹启动相同的代码,它工作正常。
谢谢你的好提示。