[英]Using InstallUtil to install service in its own process
我已經使用InstallUtil成功安裝了我的服務,但是我希望我的服務在其自己的進程中而不是在svchost中運行。 如果我通過說winmgmts來執行此操作,則可以將OWN_PROCESS傳遞給它( 請參見此處 )。 如何使用System.Configuration.Install.Installer執行此操作?
我當前的代碼:
[RunInstaller(true)]
public partial class MyServiceInstaller : Installer
{
private ServiceInstaller serviceInstaller;
private ServiceProcessInstaller processInstaller;
public MyServiceInstaller ()
{
InitializeComponent();
processInstaller = new ServiceProcessInstaller();
serviceInstaller = new ServiceInstaller();
processInstaller.Account = ServiceAccount.LocalSystem;
serviceInstaller.StartType = ServiceStartMode.Manual;
serviceInstaller.ServiceName = "MyService";
Installers.Add(serviceInstaller);
Installers.Add(processInstaller);
}
}
我將不得不假設這種方法是不可能的。 我很久以前只是使用另一種方法(sc.exe)來完成此操作。
並非所有Windows服務都必須在svchost中運行嗎?
當您安裝服務時,它只是服務的注冊表項,當Windows啟動時,它將掃描這些條目並在服務主機中加載所需的進程。 然后,它們監視服務並提供諸如汽車之類的設施。 重新啟動TC。
如果您希望您的服務以正常exe的形式運行,那么我了解您會松開Windows服務模型提供的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.