Ошибка приложения у одного из пользователей - C#
Формулировка задачи:
Здрасти)) Мне вчера один из пользователей описался что у него проблема... Хотя уверяет что NET последний версии и антивирс выключен был... И Запускал от имени администратора...
Вот код ошибки:
Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419
Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: patcher.exe
Сигнатура проблемы 02: 1.0.0.0
Сигнатура проблемы 03: 52adb91e
Сигнатура проблемы 04: System
Сигнатура проблемы 05: 4.0.30319.18408
Сигнатура проблемы 06: 52311185
Сигнатура проблемы 07: 21b0
Сигнатура проблемы 08: 1fb
Сигнатура проблемы 09: System.Net.WebException
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
Решение задачи: «Ошибка приложения у одного из пользователей»
textual
Листинг программы
namespace Patcher { public partial class Form1 : Form { [DllImport("Gdi32.dll")] public static extern IntPtr CreateRoundRectRgn(int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nWidthEllipse, int nHeightEllipse); [DllImport("user32.dll")] public static extern int SetWindowRgn(IntPtr hWnd, IntPtr hRgn, bool bRedraw); MD5CryptoServiceProvider x = new MD5CryptoServiceProvider(); string[] files = (new System.Net.WebClient()).DownloadString("http://h60257.srv5.test-hf.ru/false/files").Split(';'); int num = 0; public Form1() { InitializeComponent(); IntPtr hRgn = CreateRoundRectRgn(0, 0, 371, 88, 10, 10); SetWindowRgn(this.Handle, hRgn, true); progressBar1.Maximum = files.Length - 1; } private void Start() { Process pr = new Process(); pr.StartInfo.FileName = "Launcher PandaWoW.exe"; pr.StartInfo.Arguments = "-"+Hash64(DateTime.Now.Minute.ToString()); pr.Start(); timer1.Start(); progressBar1.Value = progressBar1.Maximum; progressBar2.Value = progressBar2.Maximum; } private bool cheking() { if (progressBar1.Value == progressBar1.Maximum) { Start(); return false; } var to_file = files[num].Split(','); num++; label2.Text = "Cheking: " + to_file[2]; if (File.Exists(to_file[2])) { } else { DownLoad(to_file[2]); return false; } var size = (new FileInfo(to_file[2]).Length.ToString()); if (size != to_file[1]) { DownLoad(to_file[2]); return false; } else { progressBar1.Value++; rechek(); } return false; } private void rechek() { cheking(); } private string Hash64(string text) { byte[] buffer = System.Text.Encoding.UTF8.GetBytes(text); return System.Convert.ToBase64String(buffer); } WebClient wc = new WebClient(); private void DownLoad(string url) { label2.Text = "Downloading: " + url; wc.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed); wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); wc.DownloadFileAsync(new Uri("http://h60257.srv5.test-hf.ru/files/" + url), url); } private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e) { progressBar2.Value = e.ProgressPercentage; } private void Completed(object sender, AsyncCompletedEventArgs e) { try { progressBar1.Value++; if (progressBar1.Value == progressBar1.Maximum) Start(); else { cheking(); } } catch { } } #region Close private void timer1_Tick(object sender, EventArgs e) { Close(); } private void pictureBox2_MouseDown(object sender, MouseEventArgs e) { this.pictureBox2.BackgroundImage = global::Patcher.Properties.Resources.Close_down; } private void pictureBox2_MouseEnter(object sender, EventArgs e) { this.pictureBox2.BackgroundImage = global::Patcher.Properties.Resources.Close_hpver; } private void pictureBox2_MouseLeave(object sender, EventArgs e) { this.pictureBox2.BackgroundImage = global::Patcher.Properties.Resources.Close_up; } private void pictureBox2_MouseUp(object sender, MouseEventArgs e) { this.pictureBox2.BackgroundImage = global::Patcher.Properties.Resources.Close_hpver; } private void pictureBox2_Click(object sender, EventArgs e) { Close(); } #endregion private void timer2_Tick(object sender, EventArgs e) { timer2.Interval = 99999; cheking(); timer2.Stop(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д