/// <summary>
        /// 默认的按command名称进行排序
        /// </summary>
        public ICommandController LunchActionSystem()
        {
            var steps = activeCommands.ConvertAll <string>(x => x.StepName);

            steps.Sort();
            RemoteController = new LineCommandController(activeCommands);
            return(RemoteController);
        }
        /// <summary>
        /// 设置安装顺序并生成最终步骤
        /// </summary>
        public ICommandController LunchActionSystem(string[] steps, out string[] stepsWorp)
        {
            //重新计算步骤
            var commands = WorpCommandList(activeCommands, steps);

            RemoteController = new LineCommandController(commands);
            stepsWorp        = commands.ConvertAll <string>(x => x.StepName).ToArray();
            return(RemoteController);
        }