具有管理员权限的

时间:2018-03-22 12:46:53

标签: c# deployment clickonce

我们的C#应用​​程序使用ClickOnce进行部署。尽管应用程序在某些时候需要管理员权限,但一切都像魅力一样。 ClickOnce似乎不支持提升权利的要求。 我们尝试将级别设置为"管理员"在应用程序的清单文件中,并在启动后使用" runas"重新启动应用程序。动词但两种方法都不适合我们的情况,因为用户应该强制以管理员的方式手动运行应用程序(弹出的UAC对话框要求获得提升权限)。 这有什么解决方法吗?

在localhost上启动WebApp需要提升权限。

修改 我们的代码以管理员权限重新启动:

 try
        {
            this.webApp = WebApp.Start(url: baseAddress, startup: Startup);
        } catch (Exception e)
        {
            Console.WriteLine(e);
            MessageBoxButtons buttons = MessageBoxButtons.RetryCancel;
            DialogResult result = MessageBox.Show("Dummy app could not start a Web Server on Localhost.\nPlease make sure that no other instance of Dummy app is currently runnning and try again.", "Dummy app has encountered an error", buttons);
            if (result == DialogResult.Retry) {
                var startInfo = new ProcessStartInfo("Dummy_app.exe") { Verb = "runas" };
                Process.Start(startInfo);
                Environment.Exit(0); 
            } else
            {
                Environment.Exit(0);
            }
        }

0 个答案:

没有答案