c# - 具有不同名称的服务安装程序
问题描述
我正在使用下面的 cmd 代码来安装 Windows 服务
@echo off
:: BatchGotAdmin
::-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"="
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
::--------------------------------------
::ENTER YOUR CODE BELOW:
cmd /k "C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil -i C:\fgbk\WindowsService\installer\OurIntegrationService.exe"
所以这会创建一个名为 OurIntegrationService 的服务,我想创建另一个具有不同名称 OurIntegrationServiceStage 的服务实例
我怎样才能做到这一点 ?
解决方案
ServiceName 向服务控制管理器标识服务。此属性的值必须与相应安装程序类的 ServiceInstaller.ServiceName 属性中记录的服务名称相同。在代码中,服务的 ServiceName 通常设置在可执行文件的 main() 函数中。
要提供不同的名称,我建议您更改服务(如果您有代码)以从 app.config 或任何其他配置位置读取名称。
您还可以通过直接在注册表中更改显示名称(而不是服务名称)来更改它。
推荐阅读
- firebase - Firebase 函数记录器日志未定义
- ssl - Nginx:“上游断开”日志是什么意思?
- python - 获取某些行 pandas 的总和
- c# - LinqToExcel 返回 .csv 文件的空白行
- apache - 在apache中服务器不同的503页面
- java - 如何将 Java 类转换为 groovy?
- java - print 语句 -Java 语法数组元素
- python - 如何遍历 pandas Dataframe 中的每个单元格?
- git - Git:重新配置后不会用 git reset 重新加载行结尾
- php - 如何在不指定树枝模板中的参数的情况下获取给定控制器路由/动作的路径?