程序发布后,必须以管理员身份登陆

项目中打包程序,在后续更新时需要管理员身份运行,固将程序运行时,使用管理员运行。

作如下设置

1)在App.cs中增加以下代码:

        /// <summary>
        /// 检查是否是管理员身份
        /// </summary>
        private void CheckAdministrator()
        {
            var wi = WindowsIdentity.GetCurrent();
            var wp = new WindowsPrincipal(wi);

            bool runAsAdmin = wp.IsInRole(WindowsBuiltInRole.Administrator);

            if (!runAsAdmin)
            {
                // It is not possible to launch a ClickOnce app as administrator directly,
                // so instead we launch the app as administrator in a new process.
                var processInfo = new ProcessStartInfo(Assembly.GetExecutingAssembly().CodeBase);

                // The following properties run the new process as administrator
                processInfo.UseShellExecute = true;
                processInfo.Verb = "runas";

                // Start the new process
                try
                {
                    Process.Start(processInfo);
                }
                catch (Exception ex)
                {
                    ex.WriteLog();
                }

                // Shut down the current process
                Environment.Exit(0);
            }
        }

2)重写 OnStartup 函数

protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            CheckAdministrator();
//如果不是管理员,程序会直接退出。
StartupUri = new Uri("MainWindow.xaml", UriKind.RelativeOrAbsolute); }

时间: 2024-08-01 21:39:47

程序发布后,必须以管理员身份登陆的相关文章

oracle添加用户并给予管理员身份登陆

sqlplus / as sysdba;--超级管理员sys登陆 show user;--显示当前用户 conn system/admin;--切换用户 CREATE user admin identified by admin;--创建用户admin,密码admin alter user admin account unlock;--解锁 grant create session to admin; --给予管理员权限 切换用户 oracle添加用户并给予管理员身份登陆 原文地址:https:

VS2005 VS2008编译的程序在Win7下以管理员身份运行的设置

在VS2005或者VS2008 里面,直接项目右键---属性---连接器---清单文件---uac执行级别   选择requireAdministrator  重新编译 这样你的程序直接运行就拥有管理员权限了

【日常操作】-- WIN7使用管理员身份登陆

引用链接:http://www.d9soft.com/article/2013/6-18/Article26840_1.htm 大致步骤,如下: 右键桌面的“计算机” - 选择“管理”; 依次展开“计算机管理(本地) - 系统工具 - 本地用户和组 - 用户 ”在右边的文件里面找到“Administrator”并双击它, 在“常规”选项下将“账户已禁用”的勾去掉, 这样就开启了 Administrator(管理员)账户; 注:以后打开任何程序都会默认以管理员的身份运行.

Web程序发布后显示个性化图标

采用Tomcat发布程序后,浏览器上默认显示程序的图标是Tomcat图标.如下图所示: 需要显示自己个性化的图标,比如,这里显示一个图标. 只需要如下三步设置即可. 将制作的ico图标放在程序的根目录下: 设置web.xml如下 在主页面进行引用 -

linux -- 切换为管理员身份登陆

打开终端.   输入sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf   在弹出的编辑框里输入:greeter-show-manual-login=true 保存关闭.   再在中端中输入:sudo passwd root   输入你想要的密码,关机重启在多出的登录框里输入root 还有你的密码就好了!

IIS7程序发布后 之 报图表处理程序配置 [c:\TempImageFiles\] 中的临时目录无效

把.net4.0的ASP.NET网站布置在IIS7上,原本开发时一切ok,图形都能够出来,但是一旦部署到iis上,再访问的话, 错误问题:图表处理程序配置 [c:\TempImageFiles\] 中的临时目录无效. 解决办法: 方法一:把配置文件中<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />中的dir属性去掉. 方法二:在本

将所发布的WinFrom程序以管理员身份运行

右键所发布的WinForm程序安装文件"setup.exe"->以管理员身份运行->安装该程序 安装完之后,再在任务管理器里找到该程序,右键程序进程->属性->兼容性->以管理员身份运行 (还有其他方法可以使得所开发的程序以管理员身份运行,例如可以在VS发布WinForm程序时作些配置,使得在发布后安装时要求以管理员身份运行)

c#程序以管理员身份运行(三种办法)

三种办法: 一.设置程序本身的属性:勾选"以管理员身份运行此程序",必要时设置"更改所有用户设置-以管理员身份运行此程序",当然这种办法是被动的,也不是最实际的办法: 二.代码法: static void Main(string[] Args) { /** * 当前用户是管理员的时候,直接启动应用程序 * 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行 */ //获得当前登录的Windows用户标示 System.Security.Principa

C#默认以管理员身份运行程序

由于WIN8的权限限制,很多程序安装后没有写入权限,导致程序无法正常运行,以下是让程序以管理员身份运行,解决此问题 static void Main(string[] Args) { /** * 当前用户是管理员的时候,直接启动应用程序 * 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行 */ //获得当前登录的Windows用户标示 System.Security.Principal.WindowsIdentity identity = System.Security.Pri