【发布时间】:2012-10-03 11:45:29
【问题描述】:
我的应用程序需要 Windows 功能
待安装。
我目前使用this solution查看是否安装。
现在,一旦我知道它没有运行,我将如何安装它。我试过了:
List<ServiceController> services = ServiceController.GetServices( ).ToList( );
ServiceController msQue = services.Find( o => o.ServiceName == "MSMQ" );
if ( msQue != null )
{
if ( msQue.Status == ServiceControllerStatus.Running )
{
Console.Write( "it is running" );
return;
}
}
else
{
Console.WriteLine( "It is not running \n\nPress enter to install" );
Console.Read( );
msQue.Start( ); // <- I was hoping to look for a method that will turn feature on or off
}
【问题讨论】:
-
已安装与当前未运行与尚未安装之间存在很大差异。如果尚未安装,则没有开/关。 MSMQ 是一个可选的 Windows 功能,在 Windows 的默认安装中根本没有安装。恐怕您唯一能做的就是让用户知道他们需要让 IT 人员安装 MSMQ 才能运行应用程序。如果它已安装且当前未运行,您可以使用 ServiceController 类来启动它。
标签: c# message-queue silent-installer