- Универсальная библиотека обновлений программ работающая через интернет
- Минимальный размер библиотеки
- Лёгок в использовании
- Асинхронные методы обновления
- Два вида обновления
Всё просто Параметры есть такие
- /link - это текстовый файл на вашем сервере с ссылками на файлы которые необходимо скачать
- /one - путь к файлу ОБНОВЛЕНИЙ.zip который нужно скачать
- /FS - [FileStart] это какой файл будет запущен по завершению загрузки.
Если к примеру Вы указали параметр
string[] myargs = { "/link|http://siteupdation.ru/link.txt", $"/FS|{Environment.CurrentDirectory}\\test.bat" };1 строкой мы указываем корневую директорию, откуда будем брать файлы а затем указываем с новой строки файлы в этой директории
http://siteupdation.ru/upd12_13/
Launcher.deps.json
patcher/test.exe
Launcher.dll
Launcher.exe
Ookii.Dialogs.WinForms.dll
System.Resources.Extensions.dll
Launcher.runtimeconfig.dev.json
Launcher.runtimeconfig.json
EmbedResource.dll
NLog.dll
NLog.config
patcher/Launcher_Property.xml
И если у Вас есть поддиректория в обновлении как в примере patcher/Launcher_Property.xml, но в целевой папке её нет, она будет создана автоматически.
Так же теперь можно записать всё в один архив и поместить на сервер (если в обновлении много файлов с поддиректориями) это кстати и сподвигло меня написать такое, так как в моём обновлении я добавил CefSharp а там куча файлов и поддиректорий.
Вызвать скачивание одним архивом можно как параметром /one|Путь_к_файлу.zip Так и файлом откуда берём файл, а пишем так
string[] myargs = { "/link|http://siteupdation.ru/link.txt", $"/FS|{Environment.CurrentDirectory}\\test.bat" };link.txt к которому путь (условно)
http://update.mysite.ru/launcher/update/
one|http://update.mysite.ru/launcher/update.zip
Пример использования в проекте
//Пример с окошками
string[] myargs = { "/link|http://SITEUPDATION.ru/update/link.txt", $"/FS|{Environment.CurrentDirectory}\\test.bat" };
string[] myargs2 = { "/link|http://SITEUPDATION.ru/update/link2.txt", $"/FS|{Environment.CurrentDirectory}\\test.bat" };
string[] onearg = { "/one|http://SITEUPDATION.ru/lupdate/update.zip", $"/FS|{Environment.CurrentDirectory}\\test.bat" };
Updater updater = new Updater();
updater.TopMostWindow = true;
#region Если не нужно отдельного окна, а можно воспользоваться UserControl
if (!checkBox_Window.Checked)
flowLayoutPanel1.Controls.Add(updater);
#endregion
updater.Start(onearg, checkBox_Window.Checked);
//Пример со считывание параметров
OneUpdate oneUpdate = new OneUpdate();
oneUpdate.progressBar = progressBar1;
oneUpdate.lblPerc = lblPerc;
oneUpdate.lblSpeed= lblSpeed;
oneUpdate.lblTotal= lblTotal;
oneUpdate.lblUpdate = lblUpdate;
oneUpdate.DownloadFile("http://SITEUPDATION.ru/update/update.zip", Environment.CurrentDirectory + "\\update.zip");

