【问题标题】:Service installer with a different name具有不同名称的服务安装程序
【发布时间】:2019-03-05 05:49:37
【问题描述】:

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

我该怎么做?

【问题讨论】:

    标签: c# windows service windows-services installation


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      相关资源
      最近更新 更多