0

新しいコンピューターにインストールする従来の Windows サービスがあります。インストーラーがあり、それを実行するか、代わりにコマンド プロンプトから installutil を使用すると、次のようになります。

インストール フェーズ中に例外が発生しました。System.InvalidOperationException: System.ServiceProcess.ServiceInstaller の OnAfterInstall イベント ハンドラーで例外が発生しました。内部例外 System.InvalidOperationException が次のエラー メッセージとともにスローされました: コンピューター '.' でサービス W2MonitorsFileWatcher を開始できません.. 内部例外 System.ComponentModel.Win32Exception が次のエラー メッセージと共にスローされました: サービスが開始されませんでした。ログオンの失敗。

管理者としてコマンドプロンプトから実行しています。だから私はこれを引き起こしているのか分かりません。

何か案は?私は元のソースを持っていますが、それは何年も前のもので、ビジュアルスタジオの古いバージョンであるため、簡単な解決策があればレポから掘り出して再構築しようとするのは嫌です. 任意のアイデアを歓迎します - ダミー サービスを作成してインストールし、.exe をレガシー アプリに置き換えることを検討しましたが、うまくいくと思いますか?

4

1 に答える 1

1

これは .NET アプリケーションですか? はいの場合は、.DotPeek を使用してアセンブリを開き、OnAfterInstall をのぞいてみてください。ほとんどの場合、サービスは何かを変更しようとしているか、ハードコードされた資格情報を使用して何かを開始しようとしていますが、失敗しています。

SC Create を使用してサービスを作成し、それで十分かどうかを確認できます。SC create は OnAfterInstall を実行しないので、エラーに直面することはないと思いますが、OnAfterInstall で行うことは、サービスで適切に作業するために必要になる場合があります

于 2015-03-24T16:27:59.337 に答える