InstallService要素を使用して、マネージ コード (C#) で記述された Windows サービスをインストールすることは可能ですか? または推奨されますか? (私はそれを試してみましたが、サービスをインストールしますが、サービスは開始されません)
それとも、Installutil を呼び出すカスタム アクションが必要ですか?
または、これを行う別の方法はありますか?
InstallService要素を使用して、マネージ コード (C#) で記述された Windows サービスをインストールすることは可能ですか? または推奨されますか? (私はそれを試してみましたが、サービスをインストールしますが、サービスは開始されません)
それとも、Installutil を呼び出すカスタム アクションが必要ですか?
または、これを行う別の方法はありますか?
私は現在、wix の研究を行っており、標準的な ServiceInstall/ServiceControl の方法だけでマネージド サービスのインストール/アンインストールに成功しました ( scを使用できる場合はどうすればよいでしょうか)。私が読んで同意したことから、installutil でカスタム タスクを使用することは悪い習慣と見なされます。以前は .net インストーラーに perf カウンターをインストールしていましたが、今はwix の方法を使用します。
ちなみに、ServiceControl 要素を追加する必要があったため、インストール後にサービスが開始され (Start 属性)、さらに重要なことに、アンインストール中に完全にアンインストールされました (Remove 属性)。
<ServiceControl Id='ControlStansWinService' Remove='both' Name='StansWinService' Start='install' Stop='both' Wait='yes' />
これまでの調査結果をここに公開しました。お役に立てば幸いです。
WIX InstallService 要素を使用する必要があります。これは、サービスのインストールと、インストールおよびアンインストール時のサービスの開始および停止/削除のすべての作業を行うためです。カスタム アクションを使用して InstallUtil を呼び出してサービスをインストールする場合、CustomAction を使用して手動でサービスの開始と停止を再度行う必要があります。