instsrv.exe srvany.exe启动服务
1.通过注册表注册服务
private static readonly string regpath = @"SYSTEM\CurrentControlSet\Services\ConsulClient\Parameters"; /// <summary>
/// 通过注册表注册Consul Agent服务
/// </summary>
/// <param name="consulPath">exe所在文件夹</param>
/// <param name="consulExeLocal">consul.exe,exe物理路径</param>
private static void ConsulClientRegEdit(string consulPath, string consulExeLocal)
{
try
{
LogWriter.ToInfo("[ConsulClientRegEdit]配置注册表开始"); List<Tuple<string, string, RegistryValueKind>> list = new List<Tuple<string, string, RegistryValueKind>>();
list.Add(new Tuple<string, string, RegistryValueKind>("AppParameters", "agent -config-file conf", RegistryValueKind.String));
list.Add(new Tuple<string, string, RegistryValueKind>("Application", consulExeLocal, RegistryValueKind.String));
list.Add(new Tuple<string, string, RegistryValueKind>("AppDirectory", consulPath, RegistryValueKind.String));
WinRegistryHelper.Register(Registry.LocalMachine, regpath, list);
LogWriter.ToInfo("[ConsulClientRegEdit]配置注册表完成");
}
catch (Exception ex)
{
LogWriter.ToError("[ConsulClientRegEdit]注册表操作失败", ex);
throw new Exception("[ConsulClientRegEdit]注册表操作失败,请联系管理员!");
}
} public class WinRegistryHelper
{
public static void Register(RegistryKey root, string subkey, List<Tuple<string, string, RegistryValueKind>> list)
{
DeleteRegist(root, subkey);
RegistryKey aimdir = Registry.LocalMachine.CreateSubKey(subkey);
if (aimdir == null)
throw new Exception("注册表操作失败");
foreach (var item in list)
{
aimdir.SetValue(item.Item1, item.Item2, item.Item3);
}
}
/// <summary>
/// 删除注册表中指定的注册表项
/// </summary>
/// <param name="name"></param>
public static void DeleteRegist(RegistryKey root, string subkey)
{
RegistryKey myKey = Registry.LocalMachine.OpenSubKey(subkey);
if (myKey != null)
root.DeleteSubKeyTree(subkey);
}
}
2.instsrv.exe srvany.exe启动服务
string consulExeLocal = DefautToolsRelyHelper.Consul + "\\consul.exe";
string srvanyPath = DefautToolsRelyHelper.Srvany + @"\srvany\srvany.exe";
string instsrvPath = DefautToolsRelyHelper.Srvany + @"\srvany\instsrv.exe";
CheckRelyTools(consulExeLocal, srvanyPath, instsrvPath);
//exe程序注册到注册表中的服务中
ConsulClientRegEdit(DefautToolsRelyHelper.Consul, consulExeLocal);
ConsulClientWinServerRigister(srvanyPath, instsrvPath); /// <summary>
/// 启动服务
/// </summary>
/// <param name="srvanyPath">srvany.exe物理路径</param>
/// <param name="instsrvPath">instsrv.exe物理路径</param>
private static void ConsulClientWinServerRigister(string srvanyPath, string instsrvPath)
{
LogWriter.ToInfo("[ConsulClientWinServerRigister]使用 srvany注册服务开始"); ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.FileName = "\"" + instsrvPath + "\"";
psInfo.Arguments = consulServiceName + " " + "\"" + srvanyPath + "\""; //设置启动动作,确保以管理员身份运行
psInfo.Verb = "runas";
Process.Start(psInfo);
LogWriter.ToInfo("[ConsulClientWinServerRigister]使用 srvany注册服务完成");
}
instsrv.exe srvany.exe启动服务的更多相关文章
- 使用instsrv.exe+srvany.exe将应用程序安装为windows服务[转]
转自:http://qingmu.blog.51cto.com/4571483/1248649 一.什么是instsrv.exe和srvany.exe instsrv.exe.exe和srvany ...
- 用instsrv.exe+srvany.exe将应用程序安装为windows服务
下载 链接:https://pan.baidu.com/s/1gKu_WwVo-TeWXmrGAr9qjw 提取码:s1vm 用instsrv.exe安装srvany.exe 将instsrv.exe ...
- exe文件添加为服务
首先,去下载一个叫rktools.exe的工具(我提供个下载地址Windows 2003 Resource Kits),下载完后安装该资源包,里面有个instsrv.exe和srvany.exe的工具 ...
- 利用instsrv和srvany来手动安装服务
Windows提供了两个小工具instsrv.exe和srvany.exe来把任何应用包装成windows服务.顾名思义instsrv(install service)是用来安装服务的,而srvany ...
- Go Node.js 生成的exe公布成windows服务
环境变量 GOBIN E:\01_SOFT\go1.9.2\bin GOROOT E:\01_SOFT\go1.9.2 GOPATH(下载包的存放位置:go get github.com/gin-go ...
- 在64位windows下使用instsrv.exe和srvany.exe创建windows服务[转]
本文转自:https://www.iflym.com/index.php/computer-use/201205020001.html 在32位的windows下,包括windows7,windows ...
- 在64位windows下使用instsrv.exe和srvany.exe创建windows服务
在64位windows下使用instsrv.exe和srvany.exe创建windows服务 在32位的windows下,包括windows7,windows xp以及windows 2003, ...
- 【转】在64位windows下使用instsrv.exe和srvany.exe创建windows服务
本文转自:https://www.iflym.com/index.php/computer-use/201205020001.html 在32位的windows下,包括windows7,windows ...
- Instsrv.exe和Srvany.exe的使用方法
要把应用程序添加为服务,你需要两个小软件:Instsrv.exe和Srvany.exe.Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行.这两个软件都包含 ...
随机推荐
- iOS第三方支付集成
支付宝(alipay)和微信支付(Wechat Pay) 支付宝: 一.总体流程 (1)先与支付宝签约.获得商户ID(partner)和账号ID(seller)(注冊app⽤用) (2)下载对应的公钥 ...
- android开发(33) 让 actionbar 透明2
让 actionbar 的背景 透明 我需要一个 透明的actionbar ,找到如下方法实现: 1. 首先,设置ActionBar 浮动到主界面上来. 2. 然后,设置ActionBar的背景色,透 ...
- mysql中varbinary、binary、char、varchar异同
binary 与 varbinary 类型和char与varchar类型是相似的,只是他们存储的是二进制数据,也就是说他们是包含字节流而不是字符流,他们有二进制字符的集合和顺序,他们的对比,排序是基于 ...
- Android Studio xcode单步调试 WebRTC Android & iOS
mac环境 如何在 Android Studio 里单步调试 WebRTC Android 的 native 代码. WebRTC 代码下载 depot tools 是 chromium 代码库管理工 ...
- minerd
云服务器 ECS Linux 异常进程 minerd 导致系统 CPU 跑满 问题现象 云服务器 ECS Linux 服务器 CPU 跑满,或者使用服务器越来越慢. 问题原因 使用 top 命令看到有 ...
- 关于Mac上的开发工具
如果是JavaScript语言的话用 Intellij IDEA 如果是C/C++语言的话用 XCode
- Opengl绘制我们的小屋(三)纹理绘制
本准备先说光照相关实现,但是发现对那个模型实在看不下去了,于是先绘制纹理. 先看下基本纹理贴上去的显示效果.具体模型图请看上篇文章的实现,这篇只讲纹理实现. 我们常见的纹理绘制差不多如下,先写一个纹理 ...
- pandas汇总和计算描述统计
pandas 对象拥有一组常用的数学和统计方法. 他们大部分都属于简约和汇总统计, 用于从Series中提取单个值(如sum或mean) 或从DataFrame的行或列中提取一个Series.跟对应的 ...
- SAP FI 财务模块 关键用户 考试练习 问卷
FI概念部分课后练习:(20题, 开卷,本周五内完毕) PC端自我测试: http://www.xiaocar.net/index.php?s=/addon/Exam/Exam/show/exam_i ...
- SAP ML 物料分类账详解(含取消激活物料帐方法)
一.业务背景: 中国会计准则规定,对存货的核算必须采用历史成本法(即实际成本法).如果企业采用计划成本法或者定额成本法进行日常核算的,应当按期结转其成本差异,将计划成本或者定额成本调整为实际成本. “ ...