Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Updaret

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 22.10.2012, 23:13   #1
Заблокирован
 Разведчик
Аватар для Вырубатель
 
Вырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краях
Регистрация: 06.09.2012
Сообщений: 10
Популярность: -374
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Updaret

Здравствуйте скажите как можно сделать так при нажатии на кнопки в Updaret скачать сначала шла проверка и если на сервере версия программы выше чем на компе то скачивалась а если ровна то не скачивалось буду благодарен тому кто мне поможет
мой код
Цитата:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Threading;
using System.Diagnostics;

namespace Updater1
{
public partial class Form1 : Form
{
System.Net.WebClient webClient = new System.Net.WebClient();//Определяем
public Form1()
{
InitializeComponent();
Dowl();
}

void Dowl()
{
Uri uri = new Uri("http://hack66666.narod2.ru/Checker.exe");
webClient.DownloadFileAsync(uri, "Checker.exe");
webClient.DownloadProgressChanged += new System.Net.DownloadProgressChangedEventHandler(web Client_DownloadProgressChanged);
webClient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(w ebClient_DownloadFileCompleted);
}
void webClient_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e)
{
label2.Text = String.Format("{0}Кбайт/{1}Кбайт", e.BytesReceived / 1024, e.TotalBytesToReceive / 1024);
progressBar1.Value = e.ProgressPercentage;
}
void webClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
progressBar1.Value = 0;

string localVersionFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory , "version.ini");
string ServerVersionFile = "http://hack66666.narod2.ru/version.ini";
if (File.Exists(localVersionFile))
{
string localVersion = null;
string ServerVersion = null;
using (StreamReader sr = File.OpenText(localVersionFile))
localVersion = sr.ReadLine();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ServerVersionFil e);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
ServerVersion = reader.ReadToEnd();
if (!string.IsNullOrWhiteSpace(localVersion))
{
using (StreamWriter sw = new StreamWriter(localVersionFile))
sw.Write(ServerVersion);
}
Thread.Sleep(2000);
System.Diagnostics.Process MyProc = new System.Diagnostics.Process();
MyProc.StartInfo.FileName = @"Checker.exe";
MyProc.Start();
Application.Exit();
}
}
}
}

  Ответить с цитированием
Старый 23.10.2012, 01:17   #2
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Re: Updaret

Код:
class VersionChecker
    {
        public bool NewVersionExists(string localVersion, string versionFromServer)
        {
            Version verLocal = new Version(localVersion);
            Version verWeb = new Version(versionFromServer);
            return verLocal < verWeb;
        }
    }
Код:
VersionChecker verChecker = new VersionChecker();
                string ServerVersion = "http://*****.narod2.ru/wh/version.ini";
                FileStream fs = new FileStream(@"version.ini", FileMode.Open);
                StreamReader sr = new StreamReader(fs, Encoding.Default);
                string localVersion = sr.ReadToEnd();
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ServerVersion);// Веб запрос к нашему серверу
                HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Ответ сервера
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))// Используем чтение потока данных
                {
                    ServerVersion = reader.ReadToEnd();// Пытаемся получить версию сервера, приобразуя в Int32              
                    /*Сравниваем*/
                    if (verChecker.NewVersionExists(localVersion, ServerVersion))
                        //Есть обновление, качаем\информируем
                    else
                        //нет обновления - просто запускаем
                }
                fs.Close();//закрываем фаил для перезаписи версий
А вообще есть тема в разделе "Разработка ПО для PointBlank" с практически готовым решением Ссылка
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
  Ответить с цитированием
Старый 23.10.2012, 02:08   #3
Заблокирован
 Разведчик
Аватар для Вырубатель
 
Вырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краях
Регистрация: 06.09.2012
Сообщений: 10
Популярность: -374
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Updaret

всё сделал правельно но когда нажимаешь кнопку скачать программа всё равно скачивается а мне надо чтоб не скачивалось если версии ровны
  Ответить с цитированием
Старый 23.10.2012, 02:25   #4
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Re: Updaret

Цитата:
Сообщение от ВырубательПосмотреть сообщение
всё сделал правельно но когда нажимаешь кнопку скачать программа всё равно скачивается а мне надо чтоб не скачивалось если версии ровны

значит не правильно сделал, раз не работает как задумано...
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
  Ответить с цитированием
Старый 23.10.2012, 02:34   #5
Заблокирован
 Разведчик
Аватар для Вырубатель
 
Вырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краях
Регистрация: 06.09.2012
Сообщений: 10
Популярность: -374
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Updaret

да вроде всё правильно но почему то скачивается хотя версии равны крайс можешь сделать пример "
  Ответить с цитированием
Старый 23.10.2012, 03:23   #6
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Re: Updaret

Цитата:
Сообщение от ВырубательПосмотреть сообщение
да вроде всё правильно но почему то скачивается хотя версии равны крайс можешь сделать пример "

Во вложении скачай....

ВТ не грузится(в архиве нет исполняемых фаилов)
Вложения
Тип файла: rar Проект для Вырубатель (DEMO).rar (15.6 Кб, 5 просмотров)
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
  Ответить с цитированием
Старый 23.10.2012, 04:05   #7
Заблокирован
 Разведчик
Аватар для Вырубатель
 
Вырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краях
Регистрация: 06.09.2012
Сообщений: 10
Популярность: -374
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Updaret

Спасибо крайс то что нужно ты лучший уважаю спс спс спс

Добавлено через 28 минут
крайс у меня ещё 1 вопрос как сделать открытие программы допустим запускаю я Updater нажимаю на кнопку скачать скачивается программа и после окончания скачивание чтоб это программа открылась
я поставил вот так
Цитата:
//-------Перезаписываем version.ini--
string localVersionFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory , "version.ini");
string ServerVersionFile = "http://hack66666.narod2.ru/version.ini";
if (File.Exists(localVersionFile))
{
string localVersion = null;
string ServerVersion = null;
using (StreamReader sr = File.OpenText(localVersionFile))
localVersion = sr.ReadLine(); //Предположим у тебя одна строка в файле
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ServerVersionFil e);// Веб запрос к нашему серверу
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Ответ сервера
using (StreamReader reader = new StreamReader(response.GetResponseStream()))// Используем чтение потока данных
ServerVersion = reader.ReadToEnd();
if (!string.IsNullOrWhiteSpace(localVersion))
{
using (StreamWriter sw = new StreamWriter(localVersionFile))
sw.Write(ServerVersion);
}
}
Thread.Sleep(2000);// ждем 2 секунды и запускаем нашу программу
System.Diagnostics.Process MyProc = new System.Diagnostics.Process();
MyProc.StartInfo.FileName = @"Checker.exe";// запускаем обновлятор
MyProc.Start();
Application.Exit();

при скачивание да открывается но вот когда запускаешь заново выскакивает текст что качать не чего не буду и всё стоит как сделать чтоб открывалось

Последний раз редактировалось Вырубатель; 23.10.2012 в 04:33. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 23.10.2012, 22:19   #8
Читер-спонсор
 Рыцарь-защитник
Аватар для Nickitee
 
Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
 
По умолчанию Re: Updaret

Цитата:
Сообщение от ВырубательПосмотреть сообщение
Спасибо крайс то что нужно ты лучший уважаю спс спс спс

Добавлено через 28 минут
крайс у меня ещё 1 вопрос как сделать открытие программы допустим запускаю я Updater нажимаю на кнопку скачать скачивается программа и после окончания скачивание чтоб это программа открылась
я поставил вот так

при скачивание да открывается но вот когда запускаешь заново выскакивает текст что качать не чего не буду и всё стоит как сделать чтоб открывалось

В новой версии необходимо задать последнею версию, чтобы при сверке программа не требовала обновления, а все старые версии - требовали.
Если я правильно понял проблему.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
  Ответить с цитированием
Старый 23.10.2012, 22:46   #9
Заблокирован
 Разведчик
Аватар для Вырубатель
 
Вырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краяхВырубатель неизвестен в этих краях
Регистрация: 06.09.2012
Сообщений: 10
Популярность: -374
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Updaret

Цитата:
Сообщение от NickiteeПосмотреть сообщение
В новой версии необходимо задать последнею версию, чтобы при сверке программа не требовала обновления, а все старые версии - требовали.
Если я правильно понял проблему.

нет ты не так понял да я уже разобрался как и что
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 21:27.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net