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

问题描述 投票:0回答:1

我使用下面的命令代码来安装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

我怎样才能做到这一点 ?

c# windows service windows-services installer
1个回答
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或任何其他配置位置读取名称。

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

© www.soinside.com 2019 - 2024. All rights reserved.