15

TopShelfを使用してWindowsサービスを作成しようとしています。サービスの1つのインスタンスですべてが正常に機能します。ただし、サービスフォルダー全体を別の場所にコピーしてから、その場所でインストールを実行すると、「スタートアップ」でハングします。

名前の競合がないように、構成ファイルの値に基づいてservicename、description、displayanameを割り当てます。

4

2 に答える 2

30

instancename差別化する必要があるのはサービスです。

ドキュメントから:

service.exe [動詞] [-option:値] [-switch]

installサービスをインストールします

-instance サービスを複数回登録する場合のインスタンス名

したがって、次を使用できます。

service.exe install -instance:FirstInstanceOfMyService

service.exe install -instance:SecondInstanceOfMyService
于 2012-10-16T08:37:54.553 に答える
9

構成ファイルにサービス インスタンス名を設定する必要がある場合は、次のようにプログラムでインスタンス名を設定できます。

var instanceName = ConfigurationManager.AppSettings["Instance"];
HostFactory.Run(hostConfigurator =>
{    
    ...   
    hostConfigurator.SetDisplayName("My service");
    hostConfigurator.SetDescription("My service that does something");
    hostConfigurator.SetServiceName("MyService");
    hostConfigurator.SetInstanceName(instanceName);
}

したがって、インストール中に実行するのは

  MyService.exe install
于 2016-01-14T16:18:54.330 に答える