PDA

Просмотр полной версии : [Руководство] Автообновление для чайников. C#.


Nickitee
09.03.2011, 21:41
Автообвление для чайников. C#.


Привет, сегодня я более-менее разжую простой способ автообвновления на C#.
Что нам понадобиться:

1. Компилятор, я советую Microsoft Visual Studio 2008/2010.
2. Хостинг, (с/без поддержки php).
3. Как всегда точные действия по гайду.
4. Ровнорукость.
Начнём...

1. Берём любой проэкт, к которому вы хотите прикрутить автообновление.
К примеру:

[Ссылки могут видеть только зарегистрированные и активированные пользователи] Заходим в код формочки и пишем после:
public logo() //Название вашей формы, в моём случаее это logo
{
InitializeComponent();
}следующее:
int version = 1; //Версия3. Теперь создаём файл "versionfile.txt" и заливаем его на хостинг и пишем в нём следующее:
2
[Ссылки могут видеть только зарегистрированные и активированные пользователи]хостинг.ру/файлv.4.3.4.5Как вы поняли 1 строка это текущая версия программы, 2 строка это расположение файла новой версии, только одно НО, название нового файла не должны быть одинаковым со старым, тобишь если старый файл назывался filev2.0.0.exe то новый должен filev3.0.0!
4. Теперь кликаем 2 раза по форме и попадаем на код эвента "load", пишем в нём код:

if (File.Exists("data")
{
StreamReader SR = new StreamReader("data");
string filetodelte = SR.ReadToEnd();
SR.Close();
if (File.Exists(filetodelte))
{
File.Delete(filetodelte);
File.Delete("data");
}
}
WebRequest request = WebRequest.Create("//Тут полный путь до файла с версией ([Ссылки могут видеть только зарегистрированные и активированные пользователи])");
[Ссылки могут видеть только зарегистрированные и активированные пользователи] [Ссылки могут видеть только зарегистрированные и активированные пользователи] = ([Ссылки могут видеть только зарегистрированные и активированные пользователи])request.GetResponse();
Stream stream = [Ссылки могут видеть только зарегистрированные и активированные пользователи]();

StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(1251));
string noob = reader.ReadToEnd();
reader.Close();
string[] stringSeparators = new string[] { "\n" };
string[] result = noob.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);
if (version == (Convert.ToInt32(result[0])))
{
//MessageBox.Show("Установлен последний пакет обновлений!");
}
else
{
string[] jo = result[1].ToString().Split((Convert.ToChar("/"))); // Тут мы получаем имя скачиваемого файла.
MessageBox.Show("Обнаружен пакет обновлений!\nПожалуйста подождите пока он установится!");
WebClient WC = new WebClient(); //Задаём WebClient
WC.DownloadFile(result[1], jo[4]); //Качаем через WebClient
MessageBox.Show("Пакет обновлений был успешно установлен!");
StreamWriter SW = new StreamWriter("data");
SW.Write(Application.ExecutablePath);
SW.Close();
System.Diagnostics.Process.Start(jo[4]);
Application.Exit();
}Вам надо только сменить ссылку на файл с версией.

5. Запускаем, тестим, всё работает :).
Права на гайд принадлежат Nickitee


Автор не несёт ответственности за использованием гайда в плохих целях

By Nickitee for World-Hack.net

Andry lomakin
10.03.2011, 16:37
а поч эту тему не кинуть в раздел C++ ?

Nickitee
13.03.2011, 12:19
а поч эту тему не кинуть в раздел C++ ?
Где тут видно что это C++? :D.
Это тема для школы читера.

.AsTex.
13.03.2011, 19:53
Nickitee,
В принципе молодец)Я так понял
int version = 1;
с Первой строкой в файле с версией?

Nickitee
13.03.2011, 20:24
Nickitee,
В принципе молодец)Я так понял
int version = 1;
с Первой строкой в файле с версией?
Да.

object
14.03.2011, 15:26
Nickitee, ну какбы, вначале это писалось для меня :D