Example #1
0
        /// <summary>
        /// 文件操作主入口
        /// </summary>
        public static void ProceedFileOps(int setting, mainFrame mainForm)
        {
            string config_stream = Convert.ToString(setting, 2).PadLeft(16, '0');
            bool IP_flag = Convert.ToBoolean(config_stream[9] - 0x30);                   //根据第10位设置IP协议模式
            int insmode = (config_stream[12] - 0x30) * 2 + (config_stream[13] - 0x30);  //根据第13, 14位设置安装源

            CheckDirs();                            //检查依赖文件目录
            if (insmode == 0)                       //判断是否为本地安装模式
            {
                if (CheckFile(IP_flag ? 1 : 0))     //检查依赖文件是否存在
                    return;
                else
                {
                    //依赖文件不存在时自动下载相关文件
                    insmode = 1;
                    msg.SetDialog(1, Resources.msg_info_ins);
                    msg.ShowDialog();
                }
            }

            DownBox downprog = new DownBox(mainForm);
            mainForm.Enabled = false;       //锁定主窗口
            downprog.Show();
            try
            {
                DownFile(insmode, IP_flag, downprog);
                downprog.Close();
                mainForm.Enabled = true;        //解锁主窗口
                mainForm.BringToFront();        //前置主窗口
                return;
            }
            catch
            {                                   //异常操作
                downprog.Close();
                mainForm.Enabled = true;        //解锁主窗口
                mainForm.BringToFront();        //前置主窗口
                throw;
            }
        }