Díky, ale nejde spustit celou metodu v novém procesu ? (tím myslím metodu, která zajišťuje stažení a extrahování)
Příspěvky odeslané z IP adresy 89.176.240.–
Jarda
Jarda
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.IO.Compression;
using Ionic.Zip;
using System.Threading;
using System.Diagnostics;
namespace KruvalUpdater
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Thread IThread = new Thread(ZkontrolujVerze); //Metoda, která kontroluje verze
IThread.Start();
}
public void update(int localversion)
{
WebClient downloader = new WebClient();
int newversion = localversion + 1;
ZapisTextu("Probíhá aktualizování...);
try
{
downloader.DownloadFile("http://STRANKA.cz/updater/updates/update" + newversion + ".zip", AppDomain.CurrentDomain.BaseDirectory + @"update" + newversion + ".zip");
ZapisTextu("Extrahování...");
using (var zip = ZipFile.Read(AppDomain.CurrentDomain.BaseDirectory + @"update" + newversion + ".zip"))
{
zip.ExtractAll(AppDomain.CurrentDomain.BaseDirectory);
}
File.Delete(AppDomain.CurrentDomain.BaseDirectory + @"update" + newversion + ".zip");
}
catch (Exception ex)
{
ZapisTextu(ex.ToString());
}
ZkontrolujVerze();
}
}
}
Zdrojový kód bez metod pro kontrolu verzí.
Jarda
Dobrý den, potřeboval bych radu ohledně stahování velkého souboru. Tvořím updater, který funguje dobře, ovšem největší problém je se stahováním souboru. Při zapnutí aplikace se začne soubor stahovat, ale program se nevykreslí. Vykreslí se až po dokončení stahování. Již jsem chtěl použít nový proces, ale asi s tím neumím pracovat, protože i když stahování jelo přes nový proces, tak se aplikace stále nevykreslí.
Můžete mi prosím ukázat kus kódu v Main pro zapnutí InitializeComponent a metody stahování ?