如何使用c#以管理员身份运行批处理文件来安装Windows服务

2023-12-01

我创建了一个批处理文件,用于将我的程序安装为 Windows 服务。 批处理文件的内容:

> C:\Project\Test\InstallUtil.exe
> "C:\Project\Test\ROServerService\Server\bin\Debug\myservices.exe"

目前,它需要用户右键单击批处理文件并“以管理员身份运行”才能成功。我们如何避免“以管理员身份运行”?我的意思是我们可以在批处理文件中使用一些命令来告诉Windows以管理员身份运行这个批处理文件吗?


这种方式过去对我有用:

string exe = @"C:\Project\Test\InstallUtil.exe";
string args = @"C:\Project\Test\ROServerService\Server\bin\Debug\myservices.exe";
var psi = new ProcessStartInfo();
psi.CreateNoWindow = true; //This hides the dos-style black window that the command prompt usually shows
psi.FileName = @"cmd.exe";
psi.Verb = "runas"; //This is what actually runs the command as administrator
psi.Arguments = "/C " + exe + " " + args;
try {
    var process = new Process();
    process.StartInfo = psi;
    process.Start();
    process.WaitForExit();
}
catch (Exception){
    //If you are here the user clicked decline to grant admin privileges (or he's not administrator)
}

请注意,我在这里直接运行批处理文件中的命令,但当然您也可以运行批处理文件本身:

string bat = @"C:\path\to\your\batch\file.bat";
var psi = new ProcessStartInfo();
psi.CreateNoWindow = true; //This hides the dos-style black window that the command prompt usually shows
psi.FileName = @"cmd.exe";
psi.Verb = "runas"; //This is what actually runs the command as administrator
psi.Arguments = "/C " + bat;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用c#以管理员身份运行批处理文件来安装Windows服务 的相关文章

  • json.net自定义jobject反序列化

    我正在尝试使用 JsonConvert DeserializeObject string 将字符串反序列化为可与动态一起使用的 jobject 来动态访问 json 文档 但是我想避免知道文档的大小写 以便我可以输入 dynamic doc
  • 单元测试验证失败

    我正在运行我的单元测试PostMyModel路线 然而 在PostMyModel 我用的是线Validate
  • 在现代 C++ 中,临时生命周期延长何时有用?

    在 C 中 您可以将函数的返回值 返回值 而不是引用 绑定到 const 引用 并且代码仍然有效 因为该临时对象的生命周期将延长到作用域末尾 例如 std string get string return abc void f const
  • 在 C# 中调用 C++ 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有很多用 C 编写的库 我想从 C 调用这些库 但是 我遇到了很多问题 我想知道是否有书籍或指南告诉我如何做到这一点 Dll导入 htt
  • 运行需要 MySql.Data 的内置 .NET 应用程序

    我在运行我编写的内置 NET 应用程序时遇到问题 我的应用程序使用最新的 MySql 连接器 该连接器安装在我的系统上 当我尝试将其添加为引用时 该连接器显示为 NET 4 Framwork 组件 当我在环境中以调试模式运行应用程序时 一切
  • 在开关中使用“goto”?

    我看到了一个建议的编码标准 内容如下Never use goto unless in a switch statement fall through 我不跟 这个 例外 案例到底是什么样的 这证明了goto 此构造在 C 中是非法的 swi
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • 计算另一个表达式中的 C# 表达式

    我想在另一个表达式中使用一个表达式 Expression
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • 在 asp.net MVC 中使用活动目录进行身份验证

    我想使用活动目录对我的 asp net mvc 项目中的用户进行身份验证 在网上冲浪了几个小时后 我没有找到任何对我有用的东西 我已经看到了所有结果 但什么也没有 我尝试按照许多帖子的建议编辑我的 web config 如果有人可以帮助我提
  • 为什么 Cdecl 调用在“标准”P/Invoke 约定中经常不匹配?

    我正在开发一个相当大的代码库 其中 C 功能是从 C P Invoked 的 我们的代码库中有很多调用 例如 C extern C int stdcall InvokedFunction int 使用相应的 C DllImport CPlu
  • 从BackgroundWorker线程更新图像UI属性

    在我正在编写的 WPF 应用程序中 我有一个 TransformedBitmap 属性 该属性绑定到 UI 上的 Image 对象 每当我更改此属性时 图像就会更新 因此显示在屏幕上的图像也会更新 为了防止在检索下一张图像时 UI 冻结或变
  • 从浏览器访问本地文件?

    您好 我想从浏览器访问系统的本地文件 由于涉及大量安全检查 是否可以通过某种方式实现这一目标 或使用 ActiveX 或 Java Applet 的任何其他工作环境 请帮帮我 要通过浏览器访问本地文件 您可以使用签名的 Java Apple
  • ASP.NET MVC 路由:如何从 URL 中省略“索引”

    我有一个名为 StuffController 的控制器 具有无参数索引操作 我希望从表单中的 URL 调用此操作mysite com stuff 我的控制器定义为 public class StuffController BaseContr
  • 为什么以下 C 程序会出现总线错误?

    我认为这是第一个失败的 strtok 调用 好久没写C了 有点不知所措 非常感谢 include
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • 来自 3rd 方库的链接器错误 LNK2019

    我正在将旧的 vc 6 0 应用程序移植到 vs2005 我收到以下链接器错误 我花了几天时间试图找到解决方案 错误LNK2019 无法解析的外部符号 imp 创建AwnService 52 在函数 public int thiscall
  • 如何使用placement new重新初始化该字段?

    我的课程包含字段 private OrderUpdate curOrderUpdate 我一遍又一遍地使用它 经常需要重新初始化 for int i 0 i lt entries size i auto entry entries i ne

随机推荐

  • 红黑高斯赛德尔和 OpenMP

    我试图证明 OpenMP 与 MPICH 相比的一点 并且我编写了以下示例来演示在 OpenMP 中实现高性能是多么容易 Gauss Seidel 迭代被分成两个单独的运行 以便在每次扫描中每个操作都可以按任何顺序执行 并且每个任务之间不应
  • ProxyPass 和 ProxyPassReverse 可以在 htaccess 中工作吗?

    我以前从未设置过代理 我使用的是共享托管 因此要设置 Apache 指令 我需要使用 htaccess 我可以使用 htaccess 执行如下操作吗 有什么限制吗 ProxyRequests Off ProxyPass img http i
  • 从 PHP 获取 CSS 样式

    我正在使用简单 DOM 解析器解析页面 它很简洁 但我想为每个元素获取应用的 css 样式 不仅是内联样式 还包括应用于该元素的每种样式 无论是内联样式 页内样式还是外部样式 有没有一个类可以做到这一点 如果没有 你会怎么做 我并不真正关心
  • 使用 .htaccess 重写查询字符串中的变量

    我在网站中使用 PHP 脚本 该脚本在 URL 中生成查询字符串 查询字符串中的变量之一是 colour red 我想在我的 htaccess 文件中制定一条规则 重写所有实例colour red to colour blue 我无权更改原
  • JQuery:返回上一页时如何返回到完全相同的滚动位置

    我有一个很长的项目列表 当我单击每个项目并返回主列表时 滚动位置丢失了 如何使用 jQuery 返回到相同的精确滚动位置 有什么简单的方法可以做到吗 document ready function update button click f
  • 包含 QML 中的对象的 QAbstractListModel 有哪些缺点?

    Qt 提供了将 C 模型与 QML 相结合的可能性并在文档中建议了三种方法 QStringList QObjectList QAbstractItemModel 前两者使用起来非常简单 例如QObjectList in C QList
  • 获取每天创建的条目数

    假设我有一个这样的搜索查询 SELECT COUNT id date created at FROM entries WHERE date created at gt date current date interval 1 week GR
  • 使用 WebView android 读取 Gif 图像

    当我尝试使用 Android 2 3 3 API 10 中的 WebView 读取 gif 图像时 它不是动画的 它显示为静态的 我该如何解决这个问题 有什么我必须更改的设置吗 Activity Main xml
  • Python 中的命名反向引用 (?P=name) 问题

    我在学习 re Python 的一部分 以及命名模式 P name 使我困惑 当我使用re sub 为了对数字和字符进行一些交换 模式 P name 不起作用 但模式 N and g
  • 有条件终止 SAS

    如果满足特定条件 我试图停止 SAS 程序的处理 我创建了一个宏变量 如果该变量 gt 0 5 那么我想要硬停止程序 当前程序看起来像 data a1 set Server a2 run macro1 a1 macro2 t1 t1 gen
  • 实体表不是使用 JPA 2.1 创建的

    我在 Netbeans 中使用 JPA 2 1 来创建我的实体 如果我的数据库没有表 那么它应该从实体创建表 当我部署并运行企业应用程序时 userEntity 表不会出现在我的 mySQL 数据库中 这里有什么帮助吗 下面是我的代码 持久
  • 关于等待超时错误的自定义消息

    我有时会使用 预期条件 功能量角器 1 7 中引入 Use case var EC protractor ExpectedConditions browser wait EC visibilityOf header displayName
  • Excel 2010 64 位无法创建 .net 对象

    我有一个在 Excel 中使用的简单类库 这是我的课程的简化 using System using System Runtime InteropServices namespace SimpleLibrary ComVisible true
  • 有什么方法可以暂停 firestore 侦听器而不删除它?

    有什么方法可以暂停 firestore 侦听器而不删除它 我有多个 Firebase 侦听器 其中一些侦听器依赖于其他侦听器 这些侦听器会在数据更改时更改或启动其他侦听器 假设我的第一个监听器启动了第二个监听器onSnapshot 第一个听
  • 重载指向两个不同类的指针的赋值运算符

    我的问题 我正在尝试重载指向两个不同类的指针的赋值运算符 这是一个例子 dc h ifndef DC H define DC H include ic h class dc double d char c public dc d 0 c 0
  • 一段时间后 AKFFTTap 停止生成数据

    我将 AudioKit 用于录音机应用程序 并向 AKMicrophone 添加了 AKFFTTap 以绘制自定义音频波形 这一切都运行良好 但是经过几次录音后 或者在应用程序录音屏幕打开一段时间后 FFT 数据突然变成全 0 我知道麦克风
  • 如何对出现在硬盘上的目录进行排序?

    在我的硬盘上 例如 目录1 目录2 目录3 目录4 我的代码是 DirectoryInfo dInfo new DirectoryInfo AutomaticsubDirectoryName DirectoryInfo subdirs dI
  • 如何在 Android Studio 中重新包含排除的目录?

    解释了如何在 Android Studio 中排除目录here 它还有一个关于不知道如何再次将其包含回来的警告 现在我需要这样做 当然 我可以再次创建 导入项目 但我想有更好的方法可以做到这一点 有没有 如何 由于没有 将目录标记为在 An
  • Python Selenium使用Windows浏览器上传文件

    我正在使用 selenium 在 Python 中开发一个浏览器自动化项目 我正在尝试将图片上传到页面 我登录 转到该页面 然后单击上传按钮 单击上传按钮后 将打开一个 Windows 文件浏览器 我必须在其中选择文件路径并单击 Windo
  • 如何使用c#以管理员身份运行批处理文件来安装Windows服务

    我创建了一个批处理文件 用于将我的程序安装为 Windows 服务 批处理文件的内容 gt C Project Test InstallUtil exe gt C Project Test ROServerService Server bi