具有不同名称的服务安装程序

时间:2019-03-05 05:49:37

标签: c# windows service windows-services installer

我正在使用下面的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的同一服务的另一个实例

我该怎么做?

1 个答案:

答案 0 :(得分:0)

  

ServiceName标识服务控制管理器的服务。   此属性的值必须与记录的名称相同   服务的ServiceInstaller.ServiceName属性中   相应的安装程序类。在代码中,服务的ServiceName   通常在可执行文件的main()函数中设置。

https://docs.microsoft.com/en-us/dotnet/api/system.serviceprocess.servicebase.servicename?view=netframework-4.7.2

要提供其他名称,建议您更改服务(如果有代码)以从app.config或任何其他配置位置读取名称。

您还可以通过直接在注册表中更改显示名称(而不是服务名称)来进行更改。