3

自分のマシンに問題なくインストールしたWindowsサービスアプリケーションがあります。別のマシンにインストールしようとしましたが、エラーが発生します

エラー1001。インストールのコミットフェーズ中に例外が発生しました。この例外は無視され、インストールが続行されます。ただし、インストールが完了した後、アプリケーションが正しく機能しない場合があります。コンピューター'。'でサービスMyServiceを開始できません。サービスは、開始要求または制御要求にタイムリーに応答しませんでした。

このエラーは、ハングすることなくすぐにポップアップします。通常、このエラーはハングした後にのみ表示されると思います。

両方のマシンにインストールされている.NET4フレームワークを使用しています。サービスの起動を妨げる可能性があると考えてウイルス対策プログラムを無効にしようとしましたが、同じエラーが発生しました。ファイアウォールも無効になりました。

この問題を引き起こしている可能性のあるものは他にありますか?

4

3 に答える 3

3

この動作は通常、WinServiceのOnStartメソッドで例外がスローされ、 try-catchブロックでキャッチされない場合に発生します。EventViewerを使用して例外メッセージとスタックトレースを確認できると思いますが、そうでない場合は、EventLogクラスを使用して簡単なログ機能を簡単に実装できます。

サービスが特権アカウントで実行されていないために、例外がスローされることがあります。これを修正するには、インストーラーのServiceProcessInstallerオブジェクトを次のように構成する必要があります。

myServiceInstaller.Account = ServiceAccount.User;
myServiceInstaller.Username = "Domain name\User name";
myServiceInstaller.Password = "qwerty";
于 2012-05-30T23:21:43.937 に答える
3

皆様のご協力に感謝いたします。この問題は、2つの異なるマシンにインストールされた.NETFrameworkが原因であることに気付きました。私のマシンには.NETFramework4クライアントプロファイルと.NETFramework4拡張があり、他のマシンには.NETFramework4クライアントプロファイルしかありませんでした。明らかに、サービスの一部のコンポーネントには、.NETFramework4クライアントプロファイルに存在しないライブラリが必要です。

于 2012-05-31T18:59:25.970 に答える
1

サービスは別のコンピューターで実行され、コードが両方で同じであると仮定すると、問題はアクセス許可に関係している可能性があります。サービスが実行されているアカウントに、ファイルを書き込むすべてのフォルダーに対する十分なアクセス許可があることを確認してください。イベントログに書き込む場合は、サービスのアカウントにそのために必要な権限があることを確認してください。

于 2012-05-30T23:26:25.020 に答える