Установщик сервиса с другим именем - PullRequest
0 голосов
/ 05 марта 2019

Я использую приведенный ниже код 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 голосов
/ 05 марта 2019

ServiceName идентифицирует службу для диспетчера управления службами.Значение этого свойства должно совпадать с именем, записанным для службы в свойстве ServiceInstaller.ServiceName соответствующего класса установщика.В коде ServiceName службы обычно задается в функции main () исполняемого файла.

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

Чтобы дать другое имя, я предлагаю вам изменитьсервис (если у вас есть код) для чтения имени из app.config или из любого другого места конфигурации

Вы также можете изменить отображаемое имя (не имя службы), непосредственно изменив его в реестре.

...