問題タブ [windows-services]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - エラー 1053: サービスが開始または制御要求にタイムリーに応答しませんでした
最近、Windows サービスとして実行されるいくつかのアプリケーションを継承しましたが、両方で GUI (システム トレイのコンテキスト メニューからアクセス可能) を提供するのに問題があります。
Windows サービスの GUI が必要な理由は、停止/再起動に頼らずに Windows サービスの動作を再構成できるようにするためです。
私のコードはデバッグモードで正常に動作し、コンテキストメニューが表示され、すべてが正しく動作するなど.
名前付きアカウント (つまり、ローカル システム アカウントではない) を使用して「installutil」経由でサービスをインストールすると、サービスは正常に動作しますが、システム トレイにアイコンが表示されません (これは正常な動作です。 「デスクトップと対話する」オプションがあります)。
ただし、ここに問題があります-「LocalSystemAccount」オプションを選択し、「デスクトップと対話する」オプションをチェックすると、明らかな理由もなくサービスの起動にAGESがかかり、取得し続けます
ローカル コンピュータで ... サービスを開始できませんでした。
エラー 1053: サービスは開始または制御要求にタイムリーに応答しませんでした。
ちなみに、Windows サービスのタイムアウトをデフォルトの 30 秒から 2 分にレジストリ ハック ( http://support.microsoft.com/kb/824344を参照、セクション 3 で TimeoutPeriod を検索) で増やしましたが、サービスはまだ起動します。タイムアウトします。
私の最初の質問は、サービスが非 LocalSystemAccount でログインする場合よりも「ローカル システム アカウント」のログインに時間がかかり、Windows サービスのタイムアウトが発生するのはなぜですか? 起動時にこのような異なる動作を引き起こすこれら2つの違いは何ですか?
第二に、一歩下がって、私が達成しようとしているのは、構成用のGUIを提供するWindowsサービスだけです-非ローカルシステムアカウント(名前付きのユーザー/ pwdを使用)を使用して実行できれば幸いです。サービスをデスクトップと対話させることができれば (つまり、システム トレイからコンテキスト メニューを利用できるようにする)。これは可能ですか?
上記の質問へのポインタをいただければ幸いです。
c# - サービスの起動時に例外を処理する
私は一連の Windows サービスを書いています。起動時に(OnStart()
メソッドで)エラーがスローされた場合に失敗するようにします。エラーをスローするだけでこれが行われると想定していましたがOnStart()
、代わりに「開始」し、「サービスは開始されましたが、非アクティブです。これは正しいですか?」というメッセージが表示されることがわかりました。(言い換え)。実際にサービスの開始に失敗するようにエラーを処理するにはどうすればよいですか?
c# - 同じプロセスでWindowsフォームを使用するWindowsサービス
ソケット接続などを制御するWindowsサービスとして実行されるac#アプリケーションがあります。また、このサービスを制御および構成するための別のWindowsフォームアプリケーションがあります(開始、停止、構成パラメーターを使用したフォームの表示)。
.netリモーティングを使用してIPCを実行していますが、それは問題ありませんでしたが、実際のトラフィックやその他のレポートを表示したいのですが、リモーティングはパフォーマンス要件を満たしていません。したがって、両方のアプリケーションを1つにまとめたいと思います。
ここに問題があります:
Windowsサービスからフォームを開始したとき、何も起こりませんでした。グーグルで検索すると、サービスを右クリックし、[ログオン]に移動して、[サービスにデスクトップとの対話を許可する]オプションをオンにする必要があることがわかりました。ユーザーにそうするように依頼したくないので、インストール時にユーザーのregeditでこのオプションを設定するために、コードを再度グーグルで検索しました。問題は、このオプションを設定しても機能しないことです。サービスのログオンオプションを開き(チェックされています)、チェックを外してもう一度チェックする必要があります。
それで、それをどのように解決するのですか?同じプロセスでsystrayコントロールを備えたWindowsサービスを使用して、ログインしているすべてのユーザーが利用できるようにするための最良の方法はどのようになっていますか?
更新:これまでのコメントに感謝します、みんな。私はIPCを使用する方が良いことに同意し、Windowsサービスとユーザーインターフェイスを混在させるのは悪いことだと知っています。とはいえ、その方法を知りたいです。
ruby - Ruby プログラムを Windows サービスとして実行しますか?
Ruby アプリケーションを Windows サービスとして実行することは可能ですか? Java アプリケーションを Windows サービスとして実行する方法について説明している関連する質問があるようですが、Ruby アプリケーションでこれを行うにはどうすればよいですか?
.net - .NET でスケジュールされた Windows サービスを作成する
ユーザーがスケジュールできる Windows サービスを作成したいと考えています。つまり、ユーザーは毎日午前 9 時から午後 6 時までサービスを実行するか、夜の 12 時から翌日の朝 6 時まで毎晩実行するかを選択できます。これを行うのに役立つボックス.NET API? スケジュールされたタスクを使用してこれを行うことができることは知っていますが、これをプログラムで行う方法はありますか?
windows - CLIアプリケーションをWindowsサービスとして実行するにはどうすればよいですか?
バックグラウンドで動作するサードパーティのアプリケーションがありますが、すべてのエラーとメッセージをコンソールに出力するとします。つまり、現在、ユーザーをサーバーにログオンさせたままにし、再起動するたびにアプリケーションを再起動(ダブルクリック)する必要があります。
あまりクールではありません。
stdout
これを行う簡単な方法があると確信していました。これは、とのログファイルで構成できる汎用サービスラッパーですstderr
。
私はチェックしましsvchost.exe
たが、このサイトによると、それはDLLのものだけです。残念。
編集:アプリケーションはバッチファイルから起動する必要があります。FireDaemonはうまくいくようですが、10行未満のPythonコードで実行できることについては、少しやり過ぎだと思います...まあ、ここでは発明されていません...
windows-services - installutil を手動で実行する必要のない C# Windows サービスをインストールする最良の方法は何ですか?
installutil コマンド プロンプト ユーティリティを使用しなくても、誰でも簡単にインストールできるように、C# Windows サービス プロジェクトをパッケージ化したいですか? winforms アプリケーションのインストール方法と同様に、Visual Studio セットアップ プロジェクトを構成する簡単な方法はありますか?
windows-services - ユーザーのデスクトップと対話する Windows サービスから exe を実行する
C# と Windows Server 2003 で Windows サービスを作成しました。Windows フォーム アプリケーションである exe ファイルをサービスで実行できるようにしたいと考えています。サービスを開始すると、他のアプリケーションが実行されますが、表示されません。タスク マネージャーを開くと、アプリケーションが実行中であることはわかりますが、表示されません。「サービスがデスクトップと対話することを許可する」にチェックを入れましたが、何も起こりません。助けてください。Windows サービス内から実行して exe を実行し、widnows サーバー 2003 で実行されている exe を確認することはできますか?
c# - Windows サービスが実行されているかどうかを確認する方法
Windows サービスとして実装されている「ウォッチドッグ」と通信する C# (XP 組み込みで実行されている 2.0) のアプリケーションがあります。デバイスが起動すると、通常、このサービスが開始されるまでに時間がかかります。サービスが実行されているかどうか、コードから確認したいと思います。どうすればこれを達成できますか?
windows-services - Windows サービスをドメイン アカウントとして実行するために最低限必要な権限
そのユーザーとして Windows サービスを実行するために、ドメイン ユーザー アカウントに付与する必要がある最小限の権限を知っている人はいますか?
簡単にするために、サービスは開始、停止、および「アプリケーション」イベント ログへの書き込み以外には何もしないと仮定します。つまり、ネットワーク アクセスやカスタム イベント ログなどはありません。
組み込みの Service および NetworkService アカウントを使用できることはわかっていますが、ネットワーク ポリシーが原因でこれらを使用できない可能性があります。