Witam.
Poszukuję jakiegoś poradnik jak zrobić autoupdater w c#. Wszystko co znalazłem dotyczyło vb. Może być po angielsku, ale musi być szkielet/zarys kodu. (wiem na jakiej zasadzie ma to działać, ale nie umiem zastosować.)
Witam.
Poszukuję jakiegoś poradnik jak zrobić autoupdater w c#. Wszystko co znalazłem dotyczyło vb. Może być po angielsku, ale musi być szkielet/zarys kodu. (wiem na jakiej zasadzie ma to działać, ale nie umiem zastosować.)
A nie wystarczy ClickOnce?
Ja napisałem to dość prosto. Mam na serwerze plik tekstowy gdzie siedzi nr aktualnej wersji oraz plik update.exe będący prostym programem mającym w zasobach wszystkie pliki aktualnej wersji programu.
Też to sobie podobnie rozplanowałem.
Zrobiłem takie coś:
int wersja = 1;
WebClient update = new WebClient();
string newver = update.DownloadString("");
int wer = int.Parse(newver);
if (wersja < wer)
{
DialogResult dialogResult = MessageBox.Show("Aktualizacja dostępna. Pobrać?", "", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
WebClient pobieranie = new WebClient();
pobieranie.DownloadFile("", "Nazwa");
}
else if (dialogResult == DialogResult.No)
{
}
Mniej więcej takie coś? Będzie pobierać txt i jeśli w nim będzie np. 2 rozpocznie pobieranie nowego programu. Tylko nie wiem jak zrobić że kiedy się pobierze to podmienia pliki i zamykanie aplikacji. Chciałbym żeby był widoczny tylko msgbox z statusem(czyli trzeba ukryć forme?).
Dodam że będzie to podpięte pod buttona.
Sprawdzanie, czy plik się pobrał:
https://msdn.microsoft.com/en-us/library/system.net.webclient.downloadfilecompleted%28v=vs.110%29.aspx
Uruchamianie innej aplikacji:
http://stackoverflow.com/questions/240171/launching-a-application-exe-from-c
Przenoszenie i usuwanie pliku:
https://msdn.microsoft.com/en-us/library/system.io.file.move%28v=vs.110%29.aspx
https://msdn.microsoft.com/en-us/library/system.io.file.delete%28v=vs.110%29.aspx