代码之家  ›  专栏  ›  技术社区  ›  Brian Mains

使用NAnt在生成脚本中安装/卸载Windows服务

  •  1
  • Brian Mains  · 技术社区  · 16 年前

    NAnt是否能够使用InstallUtil实用程序或其他工具安装或卸载windows服务?

    4 回复  |  直到 16 年前
        1
  •  3
  •   caltuntas    16 年前

    你可以打电话给南特 exec

     <target name="install-service">
        <exec program="${framework::get-framework-directory('net-2.0')}\InstallUtil.exe">
          <arg value="-i" />
          <arg value="/name=V1" />
          <arg value="C:\Service\SomeService.exe" />      
        </exec>
      </target>
    
        2
  •  1
  •   Ruben Bartelink    16 年前

    Nant还是MSBuild?自己运行installutil有什么问题-这就是在MSBuild中要做的(一般来说,构建不会按照规则安装这样的东西,因为通常您的构建应该能够在随机构建服务器上运行)。

    另一个选项,它将installutil从公式中去掉,是 adding a self-install option to your service like this (通过寻找 self install windows service

        3
  •  1
  •   jcmeyrignac    16 年前

    如果您的服务可以安装在不同的位置,您也可以使用SC.EXE通过其名称卸载它,如下所示:

    <property name="serviceName" value="Name of the service"/>
    <exec program="sc" failonerror="false" verbose="true" if="${service::is-installed(serviceName,'.')}">
     <arg value="delete"/>
     <arg value="${serviceName}"/>
    </exec>
    
        4
  •  0
  •   Garo Yeriazarian Changal Rayudu    16 年前

    如果你使用 TopShelf Project

    ServiceName.exe服务安装 ServiceName.exe服务卸载

    推荐文章