5

vb.net で Windows サービスを作成しました。とにかく、installutil を使用する必要のないインストールを作成できますか?

4

3 に答える 3

9

Installutilは必要ですが、作業を簡単にするために、セットアッププロジェクトを作成して、.msiを実行するだけでサービスをインストールできます。(これは内部でinstallutilを使用しますが、インストールを大幅に簡素化します。)

1つのウォークスルーはここにあります:http ://support.microsoft.com/kb/816169

そしてもう1つはここにあります:http://msdn.microsoft.com/en-us/library/zt39148a (VS.80).aspx

2つの主な違いは、サンプル内のコードの量です。彼らは両方とも同じプロセスを通してあなたを歩きます。

リンク先の記事は古いものですが、VS2010でも引き続き適用されます。2番目の記事を使用して、先週VS2010サービスのプロセスを説明しました。

于 2012-01-30T19:52:04.723 に答える
4

なぜ installutils を避けたいのですか?

sc次のように、コマンドを使用してみてください。sc create ...

編集: MSDN ページは次のとおりです: http://support.microsoft.com/?kbid=251192

DESCRIPTION:
        Creates a service entry in the registry and Service Database.
USAGE:
        sc <server> create [service name] [binPath= ] <option1> <option2>...

OPTIONS:
NOTE: The option name includes the equal sign.
      A space is required between the equal sign and the value.
 type= <own|share|interact|kernel|filesys|rec>
       (default = own)
 start= <boot|system|auto|demand|disabled|delayed-auto>
       (default = demand)
 error= <normal|severe|critical|ignore>
       (default = normal)
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <Dependencies(separated by / (forward slash))>
 obj= <AccountName|ObjectName>
       (default = LocalSystem)
 DisplayName= <display name>
 password= <password>
于 2012-01-30T19:58:21.620 に答える
2

レジストリ エントリでいつでも実行できます。
キーは次の場所にあります。HKLM\SYSTEM\CurrentControlSet\services

作成するキー名は、サービス ハンドラーに埋め込まれたサービスの名前です。次の値が該当します。

DisplayName = サービスマネージャに表示されるテキスト

ImagePath= サービス実行可能ファイルの FQ ファイル名

Start(DWORD) = スタートアップの種類 (3 = 自動起動)

DelayedAutoStart(DWORD) = (1 = 遅延)

WOW64(DWORD) = (0 = 64 ビット アプリ、1 = 32 ビット アプリ)

ErrorControl(DWORD) = 0

ObjectName= {username} で実行する (システム アカウントの LocalSystem)

他にも多くの値がありますが、それで始める必要があります。

于 2012-01-30T21:29:57.390 に答える