首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用.Net ServiceInstaller在服务安装上设置"启动参数"?

在.NET中,ServiceInstaller可以用于安装和管理Windows服务。要在服务安装时设置启动参数,可以通过以下步骤实现:

  1. 首先,在服务项目中添加一个新的ServiceInstaller。
  2. 在ServiceInstaller的代码文件中,可以通过覆盖Install方法来设置启动参数。例如:
代码语言:csharp
复制
protected override void OnBeforeInstall(IDictionary savedState)
{
    base.OnBeforeInstall(savedState);

    // 设置启动参数
    string[] commandLine = Environment.GetCommandLineArgs();
    string startupParameters = "";
    for (int i = 1; i< commandLine.Length; i++)
    {
        startupParameters += commandLine[i] + " ";
    }

    Context.Parameters["startupParameters"] = startupParameters.Trim();
}

在这个例子中,我们将命令行参数作为启动参数。这样,当我们安装服务时,这些参数将被传递给服务。

  1. 在服务的代码文件中,可以通过覆盖OnStart方法来获取启动参数。例如:
代码语言:csharp
复制
protected override void OnStart(string[] args)
{
    base.OnStart(args);

    // 获取启动参数
    string startupParameters = "";
    foreach (string arg in args)
    {
        startupParameters += arg + " ";
    }

    // 处理启动参数
    // ...
}

在这个例子中,我们将启动参数作为一个字符串保存,并在OnStart方法中处理它们。

需要注意的是,启动参数应该在安装服务时设置,而不是在服务运行时设置。因此,在服务运行时,应该不允许更改启动参数。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用Visual Studio 2015 Community 开发windows服务

昨天研究.NET下开发Windows服务程序,期间遇到一些小问题,这里仅将自己的开发过程和需要注意的地方写下和广大网友分享…… 1、基础     Windows服务是指系统启动时能够自己运行的程序...这里大家要注意一点,Installer1类上使用了特性:RunInstaller(true),如果我们将特性的参数设为false,那么安装工具installutil将会忽略该类,我们安装服务时就不会安装该类中指定的服务...其中v4.0.30319是.NET的版本号,使用不同版本的.NET编写Windows服务使用对应的installutil.exe来安装。   ...安装完成之后,我们可以控制面板的服务管理器中看到刚刚安装的服务: ?   安装完成之后我们来启动服务,这里使用命令行来启动,也可以服务管理器中启动。 ?   大家注意到没有?...服务的停止使用命令:net stop 服务名称。   服务的卸载使用installutil /u 服务程序路径来完成。

70120

创建Windows服务(Windows Services)N种方式总结

目前我知道的创建创建Windows服务有3种方式: a.利用.net框架类ServiceBase b.利用组件Topshelf c.利用小工具instsrv和srvany 下面我利用这3种方式,分别做一个...windows服务程序,程序功能就是每隔5秒往程序目录下记录日志: a.利用.net框架类ServiceBase 本方式特点:简单,兼容性好 通过继承.net框架类ServiceBase实现 第1步:...b.利用组件Topshelf 本方式特点:代码简单,开源组件,Windows服务可运行多个实例 Topshelf是一个开源的跨平台的服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用服务...Topshelf宿主我们的服务,主要是Topshelf如何设置我们的服务的配置和启动和停止的时候的方法调用 class Program { static void Main...,找到WindowsForms_WindowsService服务,鼠标右键-属性-登陆,勾选"允许服务与桌面交互" 启动服务,可以看到程序界面 ?

1.1K10
  • 用.NET创建Windows服务

    Visual Studio .NET能够使创建一个Windows服务变成相当简单的一件事情。启动我们的演示服务程序的说明概述如下。 1. 新建一个项目 2. ...右击你的服务选择启动就可以启动你的服务每次需要修改Windows服务时,这就会要求你卸载和重新安装这个服务。不过要注意在卸载这个服务前,最好确保服务管理控制台已经关闭,这会是一个很好的习惯。...服务不能象你对普通应用程序做的那样,只要简单地开发环境下执行就可以调试了。服务必须首先被安装和启动,这一点在前面部分我们已经做到了。...timer1_Elapsed方法里设置一个断点,然后等它执行 总结 现在你应该对Windows服务是什么,以及如何创建、安装和调试它们有一个粗略的认识了。...暂停和恢复的能力默认情况下没有被启用,要通过Windows服务属性来设置

    1.1K30

    Windows 服务 同时启动多个服务

    InstallUtil.exe 命令行工具 % SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe 路径下,可以直接带路径使用...下面给出批出理代码: 安装和启动服务 CD /D "%~dp0" InstallUtil WindowsServiceTest.exe net start Service1 net start Service2...2、单独启动服务 net start Service1 net start Service2 pause 3、停止服务 net stop Service1 net stop Service2 pause...(只使用一个服务的话,要把 Service2 删除) 首先按照之前的方法添加 Service2,然后照样添加安装程序,会出现在之前的地方(新增了一个 serviceInstaller2): 接下来打开...然后程序入口函数 Program.Main () 中添加 Service2 的调用: 这样之后就可以生成程序了,然后以管理员身份运行批处理文件(安装和启动服务.bat): 然后服务管理页面就可以看到了

    1.5K30

    Windows Service 小品

    对于创建 Windows 服务没有哪个开发平台比 .NET Framework 更加便捷,尤其是利用 C# 开发 Windows 服务对于程序员来说说简单的飞起。...Windows 服务虽然开发很简单但是注意事项太多了,多说开发人员开发的时候往往会忽略一些东西,那么这篇文章就带领读者详细讲解一下 Windows 服务。...这里需要注意: 服务必须在注册表中配置不然服务将无法启动,这是因为注册表包含服务启动类型; 我们必须设置服务的用户、依赖关系。这些工作都是服务配置程序中进行的。....NET 中和服务相关的类都位于命名空间 System.ServiceProcess 中。...创建服务控制器类的实例时,我们设置与安装的 Windows Service 交互属性。ServiceController 主要用于管理 SCM 的工具。

    82010

    使用InstallUtil发布windows服务

    修改serviceInstaller1的属性:    a)ServiceName =”FirstService”;   //设置服务名称    b)StartType = Automatic;     ...事实上,“我的电脑”的“管理”->“服务”中,还有一种模式:“自动(延迟启动)”    c)Modifiers=public; 还有一些属性,比如DisplayName对应下图中的“显示名称”,ServiceName...二、把该文件复制到你生成服务的根目录下。 ?   三、使用命令:cmd中定位到你的服务所在的目录(即InstallUtil.exe所在的目录),使用InstallUtil 服务名.exe进行安装。...默认是debug下生成solution。 第二:针对window7用户,安装的过程中容易出现的几个错误: 使用的电脑不是使用系统管理员的账号登录,则会出现下面的错误。...(我已经做过测试),特别是使用window7的用户特别需要注意,系统默认system账号是“禁用”模式。 ? 第二种错误的可能就是服务已经存在,则会出现下面的错误 ?

    1.2K20

    VS 2010一步步开发windows服务(windows service)

    基于0起步来创建一个服务,做到简单的记录时间日志功能,其具体招行方法可自行添加。 1.创建服务 2.删除默认服务文件 3.添加自己的服务文件 4.更改启动项目 5....12.可以看见项目中多了如下文件和组件,serviceProcessInstaller1、serviceInstaller1是自动生成的 13.设置组件serviceInstaller1的主要属性,StartType...: AutoMatic自动启动;ServiceName: 服务系统标识,cmd命令中执行sr start/stop/query等等命令时候使用,用来唯一标识一个Window服务 14.设置组件serviceProcessInstaller1...调试的话,只能先安装启动服务,然后将该服务附加到进程,就可以调试了。...安装好服务后,就可以win7服务管理里面,管理刚刚启动服务了。

    80590

    Windows服务的快速搭建与调试(C#图解)

    这些服务可以计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响同一台计算机上工作的其他用户,需要长时间运行功能时使用。...还可以不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。 二、创建Windows 服务。...点击确定 => 生成的Service1.cs 文件视图上右键 => 添加安装程序 => 生成的ProjectInstaller.cs视图页面设置serviceInstaller1 里的启动方式、Windows...然后设置serviceProcessInstaller1的账号信息,选择“本地系统”,如图: ?..."服务名称" 卸载服务的批处理代码: net stop "服务名称" "%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"

    2.1K80

    C# 创建Windows服务demo

    一、准备工作 1.操作系统:Windows 10 X64 2.开发环境:VS2017 3.编程语言:C# 4. .NET版本:.NET Framework 4.5 二、创建Windows Service...4、进入页面之后就会看到serviceProcessInstaller1和serviceInstaller1; 点击“serviceProcessInstaller1”,“属性”窗体将Account改为...5.点击“serviceInstaller1”,“属性”窗体将ServiceName改为MyService,Description改为我的服务,StartType保持为Manual,如下图所示: ?...安装服务,需要使用UAC中Administrator的权限,鼠标右击项目,弹出的上下文菜单中选择“添加”->“新建项”,弹出的选择窗体中选择“应用程序清单文件”并单击确定,如下图所示: ?...8、使用WIN+R的方式打开运行窗体,并在窗体内输入services.msc后打开服务,就可以看到下图: ? 9.我们可以通过刚刚写的开启服务来打开服务,如果服务不用了可以通过按钮直接停止或者卸载。

    84110

    【C#】分享基于Win32 API的服务操作类(解决ManagedInstallerClass.InstallHelper不能带参数安装的问题)

    ,它通过传入main方法的参数决定是以服务运行,还是以桌面程序运行(这里不讨论为什么不把服务和桌面程序分成两个exe。...另外有关如何让一个exe即是服务又是桌面程序的问题,请参看园子里其它猿友的文章,或者有闲心我也会写一篇),这就需要安装该服务时,给映像文件路径带上参数,但InstallHelper不支持带参数,勉强带上参数的话...看了InstallHelper的源码,发现它会把路径和参数整个套进一对双引号,这样传递给更底层的安装方法时,底层方法会将该字串视为一个路径,自然不是一个合法的路径。...而ServiceInstaller.Install内部正是调用CreateService这个系统API来执行服务的安装。...,当然要共用进程设置,后者则是存储每个服务设置,自然要一一对应。

    1.4K20

    使用C#创建Windows服务

    6、点击“serviceInstaller1”,“属性”窗体将ServiceName改为MyService,Description改为我的服务,StartType保持为Manual,如下图所示: ?...2、将该项目设置启动项目,并在窗体内添加四个按钮,分别为安装服务启动服务、停止服务及卸载服务,如下图所示: ?...5、由于需要安装服务,故需要使用UAC中Administrator的权限,鼠标右击项目“WindowsServiceClient”,弹出的上下文菜单中选择“添加”->“新建项”,弹出的选择窗体中选择...8、重新打开后,IDE运行WindowsServiceClient项目; 9、使用WIN+R的方式打开运行窗体,并在窗体内输入services.msc后打开服务,如下图所示: ?...2、启动“WindowsServiceClient”项目,“调试”菜单中选择“附件到进程”(服务必须事先安装),如下所示: ?

    1.6K00

    窗口管理器 dwm安装

    wget git usbutils pciutils acpi net-tools: 一个包含各种网络工具的库,像 ifconfig 或者 netstat,官方目前使用ip address 命令来获取本机的...alsa-ucm-conf: 声卡驱动,如果你的机器比较新,那么你可能需要裝。...窗口系统之上的,安装窗口管理器之前需要先安装上x窗口系统的相关服务 sudo pacman -S xorg xorg-xinit nitrogen picom xorg: x服务,用来显示图形界面 xorg-init...: x服务启动程序 nigrogen: 设置背景图片 picom: 窗口渲染,后面做半透明渲染 安装窗口管理器 接下来就正式开始安装窗口管理器了,这里使用suckless全家桶,窗口管理器采用dwm,...dmenu, 然后只需要在上边出现的工具条中输入你想运行的程序的前几个字母,也可以按左右箭头进行选择,按回车键完成,即可启动想要的程序 可以使用 Shift + Mod1 + x 来将当前的活动窗口移到其他的标签页

    1.5K20

    windows如何安装多个版本mysql,如何同时启动

    这里写目录标题 1 安装mysql 2 使用 1 安装mysql Windows 安装MySQL5.7 以上的版本(压缩包形式安装) 2 使用 安装多个版本的时候,第一个比如你安装5.6版本,就安装上面那个步骤正常安装...; 安装第二个版本的时候,比如还要5.7版本, 首先是解压之后, 两个软件的名称要改为不一样,一定要改为不一样 ini文件里面 端口也要改为不一样,比如改为3307 以管理员身份打开...将目录切换到MySQL的安装目录的bin目录下 进入mysql的bin目录后执行 mysqld57 install mysql57 一定要用每个软件里面的改名之后的mysqld57这个 给每一个服务起一个别名...以上就安装好了,启动的时候 net start mysql net start mysql57 两个服务启动了 进入第一个是 mysql 第二个是 mysql57 以上就同时启动了,如果不是这样改...bin目录下的文件的名称,那么只能一次启动一个,关闭这个启动另一个

    3.9K22

    Sonic 开源移动端云真机测试平台 - 设备中心接入卓设备实例演示,Agent端服务部署过程详解

    ⑥ Python 库 tidevice 的安装 需要执行 pip install tidevice 命令进行安装,这个库是后面 ios 连接时使用的,可以先装上。...② Agent 服务启动 agent 目录下输入 cmd 进入命令行界面。 输入 java -jar sonic-agent-windows-x86_64.jar 启动服务。...启动后会检测环境配置情况,如果都检查通过了才会启动启动完成后回到设备中心,可以看到服务端已经正常启动了。...② 一加8手机连接不显示 USB 调试选项问题排查 首先可以电脑换个插口试试,我开始就用 A 插口,发现怎么也连不上,换了 B 插口就好了,而且 A 插口时,USB 偏好设置都是置灰的,不可用选择。...然后设置里搜索 USB。

    2K40

    Windows服务创建及安装

    Visual Studio .NET能够使创建一个Windows服务变成相当简单的一件事情。启动我们的演示服务程序的说明概述如下。 1. 新建一个项目 2....安装一个Windows服务应该通过使用.NET Framework提供的InstallUtil.exe来完成,或者通过诸如一个Microsoft Installer (MSI)这样的文件部署项目完成。...设置serviceInstaller1组件的属性: 1) ServiceName = My Sample Service 2) StartType = Automatic 5....右击你的服务选择启动就可以启动你的服务了   每次需要修改Windows服务时,这就会要求你卸载和重新安装这个服务。不过要注意在卸载这个服务前,最好确保服务管理控制台已经关闭,这会是一个很好的习惯。...服务不能象你对普通应用程序做的那样,只要简单地开发环境下执行就可以调试了。服务必须首先被安装和启动,这一点在前面部分我们已经做到了。

    1.4K50

    手机卫士设备管理权限锁屏

    ”android.app.device_admin” 设置资源 android:resource=”@xml/device_admin_sample” res目录下新建xml的文件夹,新建一个device_admin_sample.xml...如果是0,就是恢复出厂设置 卸载软件 这个装上就卸载不掉了 调用DevicePolicyManager对象的removeActiveAdmin()方法,清除管理员权限,参数:ComponentName...调用Intent对象的addCategory()添加类型,参数:android.intent.category.DEFAULT 调用Intent对象的setData(),设置数据, 参数:Uri对象,...KK咯: 有卓吧”的网友应该都听说过”薄荷大神“。(不知道的可以进去了解下e凉心薄荷吧_百度贴吧) 后来吧友求助与吾爱破解,然后有大神分析了整个过程。...,导致用户的手机不能正常使用并且还会播放一段音乐。

    1.3K20
    领券