【问题标题】:Launch Condition - Check if a service is running启动条件 - 检查服务是否正在运行
【发布时间】:2011-02-10 18:56:06
【问题描述】:

在 VS2008 中,如何检查 Windows 服务是否在启动条件下运行?

【问题讨论】:

    标签: c# .net visual-studio-2008 windows-installer launch-condition


    【解决方案1】:

    有关如何检查服务是否在启动条件下运行的详细信息,请参阅this 线程,

    最可靠的自定义操作是在 UI 和执行序列中的 LaunchConditions 操作。

    这里有一个例子:

    http://support.microsoft.com/default.aspx?scid=kb;en-us;253683.

    您的自定义操作代码可以检查正在运行的服务并设置属性 对于启动条件。

    您可以使用ServiceController.GetServices 方法列出本地计算机上运行的服务。

    ServiceController[] scServices;
    scServices = ServiceController.GetServices();
    
    // Display the list of services currently running on this computer.
    
    Console.WriteLine("Services running on the local computer:");
    foreach (ServiceController scTemp in scServices)
    {
        if (scTemp.Status == ServiceControllerStatus.Running)
        {
            // Write the service name and the display name
            // for each running service.
            Console.WriteLine();
            Console.WriteLine("  Service :        {0}", scTemp.ServiceName);
            Console.WriteLine("    Display name:    {0}", scTemp.DisplayName);
        }
    }
    

    【讨论】:

      【解决方案2】:

      您可以按如下方式连接到服务:

      ServiceController sc = new ServiceController("ServiceName");
      

      您可以通过检查“状态”属性来检查服务是否正在运行。 Status 返回一个 ServiceControllerStatus 类型的值(枚举)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-10
        • 2022-01-25
        • 1970-01-01
        • 2013-04-04
        • 2021-08-15
        • 2015-06-26
        • 2011-05-25
        相关资源
        最近更新 更多