Beispiel #1
0
        /// <summary>
        /// 文件格式关联设置按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void extensionButton_Click(object sender, EventArgs e)
        {
            AppSettingsForm settingForm = new AppSettingsForm();

            settingForm.ShowDialog();
        }
Beispiel #2
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="upURL">更新地址</param>
        /// <param name="showWindows">结果是否弹窗</param>
        public void GoUpdata(bool showWindows)
        {
            if (!Directory.Exists(updataUrl))// 地址检测
            {
                if (MessageBox.Show("程序更新地址 " + updataUrl + " 无效,是否重新设置?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
                {
                    return;                                                                                                                                      // 新版本更新选择窗口
                }
                else
                {
                    AppSettingsForm settingsForm = new AppSettingsForm();
                    settingsForm.ShowDialog();
                    Environment.Exit(0);
                }
                return;
            }
            try
            {
                DirectoryInfo directoryInfo = new DirectoryInfo(updataUrl);
                FileInfo[]    files         = directoryInfo.GetFiles(@"TDS2*.exe", SearchOption.TopDirectoryOnly); // 扫描TDS2开头命名的exe文件
                if (files.Length == 0)                                                                             // 没有发现TDS2开头命名的exe文件
                {
                    if (showWindows)
                    {
                        MessageBox.Show("没有发现新版本", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    return;
                }

                foreach (FileInfo file in files)                                                                   // 遍历1或多个TDS2程序文件
                {
                    string version = Regex.Match(file.Name, @"[1-9]+[.][0-9]+[.][0-9]+[.][0-9]+").Groups[0].Value; // 获取版本号
                    if (version == "" || version == null)
                    {
                        continue;                                  // 在exe文件名中没有找到版本号
                    }
                    int web   = int.Parse(version.Replace(".", ""));
                    int local = int.Parse(Application.ProductVersion.Replace(".", ""));
                    if (web < local)
                    {
                        continue;             // 本地比服务器版本高
                    }
                    if (web == local)
                    {
                        continue;              // 本地与服务器版本相同
                    }
                    if (MessageBox.Show("发现新版本:" + version + "\r\n当前版本:" + Application.ProductVersion + "\r\n按确定立即更新,请耐心等待后台下载完成安装", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
                    {
                        return;                                                                                                                                                                                            // 新版本更新选择窗口
                    }
                    Process.Start(file.FullName);
                    Environment.Exit(0);
                    return;
                }

                if (showWindows)
                {
                    MessageBox.Show("没有发现新版本", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            catch (UnauthorizedAccessException)
            {
                if (MessageBox.Show("无权限访问更新地址,请是否继续运行?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
                {
                    return;
                }
            }
            catch (FileNotFoundException)
            {
                if (MessageBox.Show("更新地址不存在,请是否继续运行?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                if (MessageBox.Show("程序更新时发生如下错误,是否继续运行?信息如下\r\n\r\n" + ex.ToString(), "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
                {
                    return;
                }
            }
        }