- ベストアンサー
net startでアプリケーションサービスの開始
サービス-スタートアップの種類が「無効」のアプリケーションサービスをReg addコマンドでStartの値を2に変更(バッチファイルにてレジストリの値を書き換え)し、その後、net startコマンドでこのアプリケーションサービスを開始したいのですが、エラーになり開始することができません。 どこか他にレジストリの値を変更しておかないといけないのでしょうか? どなたかご存じの方いらっしゃいましたらご教授願います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
サービスの起動・停止等の管理は「サービス コントロール マネージャ(SCM)」が一手に行っており、SCMが内部的に持つサービスデータベースに基づいて行われています。 ですので、レジストリでスタートアップの種類を変更しても、その変更は再起動してSCMがサービスデータベースを再構築するまで反映されません。 また、すぐに反映されるような形でスタートアップの種類を変更するには、SCMを経由してスタートアップの種類を変更するしかありません。 Windows XP/Server 2003には、SCMにコマンドを発行するsc.exeというコマンドがあります。このコマンドを使用して sc config [service name] start= auto を実行すると、[service name]に対応するサービスのスタートアップの種類が「自動」に変わります。そうすることで、直後に net start [service name] を実行してもエラーになりません。 Windows 2000ないしそれ以前をお使いの場合、sc.exeに対応するコマンドがないので、SCMにアクセスするツールを自前で作成する必要があります。(APIのOpenSCManager/OpenService/ChangeServiceConfigあたりを使うことになります。)
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
サービスのスタートアップの種類の変更に本来レジストリをいじる必要はありません。 そもそも、サービスプログラム自体がうまく動かない状況なのではないでしょうか
お礼
ご回答ありがとうございました。 早速試してみます。