1

NAnt には、InstallUtil ユーティリティなどを使用して、Windows サービスをインストールまたはアンインストールする機能がありますか?

4

4 に答える 4

3

Nantのexecタスクを呼び出してInstallUtilを呼び出すことができ、パラメーターを渡してサービスを簡単にインストールまたはアンインストールできます。

 <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>
于 2010-08-05T22:30:26.553 に答える
1

NantまたはMSBuild?installutilを自分で実行するだけの問題は何ですか?それがMSBuildで行うことです。(通常、ビルドはランダムなビルドサーバーで実行できるはずなので、通常、ビルドはこのようなもののインストールを行いません)。

installutilを方程式から外す別のオプションは、このようなサービスに自己インストールオプションを追加することです(を探して詳細を検索してくださいself install windows service

于 2010-08-05T22:25:11.307 に答える
1

サービスをさまざまな場所にインストールできる場合は、次のように、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>
于 2010-08-13T14:32:34.823 に答える
0

アプリケーションでTopShelf プロジェクトを使用してサービスをホストする場合、InstallUtil を必要とせずにサービスをインストール/削除するためのコマンドライン ベースのツールを取得できます。

ServiceName.exe サービスのインストール ServiceName.exe サービスのアンインストール

また、サービスを直接実行して、CTRL + C で停止できる便利なコンソール ウィンドウを取得できます。プログラムを実行することで、これを nant または msbuild に直接統合できます。

于 2010-08-05T22:40:05.223 に答える