在我的VS解决方案中,我有两个项目:一个Windows服务和一个带有一个表单和两个按钮的win应用程序(安装/卸载和启动/停止)。我跟随过Matt Davis教程
How to make a .NET Windows Service start right after the installation?
用于创建ProjectInstaller,现在我很困惑如何在按钮单击时实际启动安装,这是在另一个项目(win app)中。 我很感激任何帮助。
答案 0 :(得分:0)
这是未经测试的,但如果您在win app
中添加引用至System.Configuration.Install
。此程序集包含要安装服务的所有代码。然后从win应用程序中的代码中添加如下内容:
public void InstallService(string pathToAssembly)
{
System.Configuration.Install.ManagedInstallerClass.InstallHelper(new string[] { pathToAssembly });
}
要使用它,您只需要知道从exe
继承的服务的ServiceBase
文件的路径。
答案 1 :(得分:0)
我的教程适合从命令行安装服务,而不是从其他应用程序安装。也就是说,我认为这样做很容易(虽然我还没有测试过):
string pathToServiceExecutable = ...; // specify the full path to your service
System.Diagnostics.Process.Start(pathToServiceExecutable, "-install");