WinForms アプリから Windows サービスをインストールするにはどうすればよいですか? 私が読んだものはすべて「InstallUtil.exeを使用してください、何とか..」と書かれていますが、彼らは1つのことを忘れています.InstallUtil.exeについて私が知っているすべての年で、1台のコンピューターにもインストールされていません。私は常に InstallUtil.exe をダウンロードし、それを使用してサービスをインストールする必要がありました。
サービスをインストールできるようにするためだけにクライアント/顧客に依頼することは、実際には容認できることではありません。では、Chrome、Opera などはどのようにサービスをインストールするのでしょうか? 現在、真新しい PC で、私は Install Util を持っていません。90% の人 (非プログラマー) も持っていないに違いありません。では、.NET フレームワーク内で既に提供されているもの以外のサード パーツや外部リソースを必要とせずに、winforms アプリから Windows サービスをインストールするにはどうすればよいでしょうか?
Windows サービスの作成に関する MSDN の記事に記載されている通常の方法でインストールしようとしましたが、意味のある理由もなく常に失敗します。
C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release>Ins tallUtil.exe "Heartbeat Monitor.exe" Microsoft (R) .NET Framework インストール ユーティリティ バージョン 4.0.30319.33440 Copyright (C)マイクロソフト。全著作権所有。
トランザクション インストールの実行。
インストールのインストール フェーズの開始。C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe アセンブリの進行状況については、ログ ファイルの内容を参照してください。
このファイルは、C:\Users\Jason\Documents\Visual Studio 2015\Projects\Note s\Notes\bin\Release\Heartbeat Monitor.InstallLog にあります。アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\ Notes\bin\Release\Heartbeat Monitor.exe' をインストールしています。影響を受けるパラメーターは次のとおりです。 \Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog
インストール フェーズ中に例外が発生しました。System.ArgumentOutOfRangeException: インデックスと長さは、文字列内の場所を参照する必要があります。パラメータ名: 長さ
インストールのロールバック フェーズが開始されます。C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe アセンブリの進行状況については、ログ ファイルの内容を参照してください。
このファイルは、C:\Users\Jason\Documents\Visual Studio 2015\Projects\Note s\Notes\bin\Release\Heartbeat Monitor.InstallLog にあります。アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Note s\Notes\bin\Release\Heartbeat Monitor.exe' をロールバックしています。影響を受けるパラメーターは次のとおりです。 \Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog
ロールバック フェーズが正常に完了しました。
トランザクションのインストールが完了しました。インストールに失敗し、ロールバックが実行されました。
C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release>
InstallLogファイルは次のとおりです。
アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe' をインストールしています。影響を受けるパラメーターは次のとおりです。 Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe' をロールバックしています。影響を受けるパラメーターは次のとおりです。 Projects\Notes\Notes\bin\Release\Heartbeat Monitor. InstallLog アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe' をインストールしています。影響を受けるパラメーターは次のとおりです。 Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe' をロールバックしています。影響を受けるパラメーターは次のとおりです。 Projects\Notes\Notes\bin\Release\Heartbeat Monitor. InstallLog System.ServiceProcess.ServiceProcessInstaller インストーラーのロールバック フェーズ中に例外が発生しました。System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。インストールのロールバック フェーズ中に例外が発生しました。この例外は無視され、ロールバックが続行されます。ただし、ロールバックが完了した後、マシンが完全には初期状態に戻らない場合があります。アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe' をインストールしています。影響を受けるパラメーターは次のとおりです。 logtoconsole = assemblypath = C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe logfile = C: \Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog アセンブリのロールバック 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\ Release\Heartbeat Monitor.exe'. 影響を受けるパラメーターは次のとおりです。 Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog System.ServiceProcess.ServiceProcessInstaller インストーラーのロールバック フェーズ中に例外が発生しました。System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。インストールのロールバック フェーズ中に例外が発生しました。この例外は無視され、ロールバックが続行されます。ただし、ロールバックが完了した後、マシンが完全には初期状態に戻らない場合があります。アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe' をインストールしています。影響を受けるパラメーターは次のとおりです。 Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe' をロールバックしています。影響を受けるパラメーターは次のとおりです。 logtoconsole = assemblypath = C: \Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe ログファイル = C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\ Heartbeat Monitor.InstallLog アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe' をインストールしています。影響を受けるパラメーターは次のとおりです。 Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog サービス Heartbeat Monitor をインストールしています... ログ アプリケーションに EventLog ソース Heartbeat Monitor を作成しています... アセンブリ 'C: をロールバックしています: \Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe'. 影響を受けるパラメーターは次のとおりです。 Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog ソース ハートビート モニターのイベント ログを以前の状態に復元しています。アセンブリ 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe' をインストールしています。影響を受けるパラメーターは次のとおりです。 logtoconsole = assemblypath = C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.exe logfile = C: \Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog アセンブリのロールバック 'C:\Users\Jason\Documents\Visual Studio 2015\Projects\Notes\Notes\bin\ Release\Heartbeat Monitor.exe'. 影響を受けるパラメーターは次のとおりです。 Projects\Notes\Notes\bin\Release\Heartbeat Monitor.InstallLog
どんな助けでも大歓迎です。私はここで完全に迷っています。T の指示に従っても、サービスのインストールがなぜこれほど難しいのかわかりません。