在c#中使用.exe路径安装Windows服务

时间:2016-04-05 10:03:36

标签: c# service installutil

我需要以编程方式安装服务(甚至可以使用InstallUtil完成,但无法手动完成)

我有以下代码,但无法弄清楚如何正确地执行它,因为该代码要求我不知道的一些类信息,我需要知道如何使用它来使用teh .exe执行它。 代码如下:

public static void InstallService(string ExeFilename)
{
    System.Configuration.Install.AssemblyInstaller Installer = new System.Configuration.Install.AssemblyInstaller(ExeFilename,null);
    Installer.UseNewContext = true;
    Installer.Install(null);
    Installer.Commit(null);
}

1 个答案:

答案 0 :(得分:0)

 public void InstallService(string ExeFilename)
        {
            try
            {
                System.Configuration.Install.AssemblyInstaller Installer = new System.Configuration.Install.AssemblyInstaller(ExeFilename, null);
                Installer.UseNewContext = true;
                Installer.Install(null);
                Installer.Commit(null);
                DialogResult NovoDialog = new DialogResult();
                NovoDialog = MessageBox.Show("Deseja Iniciar o Serviço?", "Orca ++ Updater", MessageBoxButtons.YesNo);
                if (NovoDialog == DialogResult.Yes)
                {
                    ServiceController service = new ServiceController("OrcaService");
                    TimeSpan timeout = TimeSpan.FromMilliseconds(1500);
                    service.Start();
                    service.WaitForStatus(ServiceControllerStatus.Running, timeout);

                }
            }
            catch (Exception ex)
            {
                Erro NovoErro = new Erro();
                Program.Erro = ex.ToString();
                NovoErro.ShowDialog();
            }
        }

这就是我解决问题的方法

相关问题