Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut/C#]Autoaktualizacja naszego programu


Gość Pan Szymek

Rekomendowane odpowiedzi

Opublikowano

Założenie jest takie:

Pobieramy tekst z pliku na serwerze -> Porównujemy pobrane dane z wersją w programie

-> Jeżeli się nie zgadza pobieramy nową wersję, a starą usuwamy

-> Jeżeli się zgadza uruchamiamy program

 

Więc na początek dodajmy warunek, który sprawdzi, czy wersja na serwerze zgadza się z naszą

System.Net.WebClient wc = new System.Net.WebClient();
if (!wc.DownloadString("http://mojastrona.pl/dane.php?akcja=wersja").Equals("1.0"))
{

}

 

Teraz pobierzemy nowy plik z naszego serwera

wc.DownloadFile("http://mojastrona.pl/pliki/MojProgram.exe", "up.bin");

 

Utwórzmy nowy obiekt typu StreamWriter i użyjmy go do stworzenia pliku "aktualizacja.bat"

System.IO.sw = new System.IO.StreamWriter("aktualizacja.bat");
sw.Write(@"@ECHO OFF

ECHO ===============================
ECHO = Aktualizacja =


ECHO = Kasowanie starego .exe =

del MojProgram.exe

ECHO = Aktualizacja pliku .exe =

rename up.bin MojProgram.exe
ECHO = Uruchamianie nowej wersji =

MojProgram.exe
START MojProgram.exe

ECHO = Gotowe =
ECHO ===============================

EXIT");
sw.Close();

 

Teraz wystarczy uruchomić plik .bat i zamknąć nasz program

System.Diagnostics.Process.Start("aktualizacja.bat");
Application.Exit();

 

Tyle wystarczy, aby nasz program miał podstawą funkcjonalność aktualizacji.

 

Cały kod:

if (!new System.Net.WebClient().DownloadString("http://mojastrona.pl/dane.php?akcja=wersja").Equals("1.0"))
{
System.IO.StreamWriter sw = new System.IO.StreamWriter("aktualizacja.bat");
sw = new StreamWriter("aktualizacja.bat");
sw.Write(@"@ECHO OFF

ECHO ===============================
ECHO = Aktualizacja =


ECHO = Kasowanie starego .exe =

del MojProgram.exe

ECHO = Aktualizacja pliku .exe =

rename up.bin MojProgram.exe
ECHO = Uruchamianie nowej wersji =

MojProgram.exe
START MojProgram.exe

ECHO = Gotowe =
ECHO ===============================

EXIT");
sw.Close();
System.Diagnostics.Process.Start("aktualizacja.bat");
Application.Exit();
}

Opublikowano

w c# można napisać prawie wszystko xD

 

@topic

dzięki, szukałem analogicznego sposobu do c++/cli ale nie wpadłem na pomysł pisania wsada w programie ;)

exKVR.png

c++, c++/cli, php, js, css3, lua, au3 and others...

 

Pomoc dla newbich w wymienionych wyżej językach, pisanie botów do Tibii - pisz na gg, może się dogadamy :)

Opublikowano

dzięki, szukałem analogicznego sposobu do c++/cli ale nie wpadłem na pomysł pisania wsada w programie ;)

 

C++/CLI, VB.NET i C# to jeden chuj.

Wystarczy znać jeden .NET'owy język i można pisać w każdym z nich.

No chyba że nie chce Ci się do MSDN zajrzeć i zobaczyć różnic.

Opublikowano

C++/CLI, VB.NET i C# to jeden chuj.

Wystarczy znać jeden .NET'owy język i można pisać w każdym z nich.

No chyba że nie chce Ci się do MSDN zajrzeć i zobaczyć różnic.

 

Jak to mówią

opanowanie języka C++ = opanowanie w dziewięćdziesięciu procentach Javy & C# i nazad ;p

Języki mają naprawdę wiele wspólnego.

ale ja mam troszkę odmienne zdanie ale zachowam narazie dla siebie ;)

..x..

Opublikowano

Jak to mówią

opanowanie języka C++ = opanowanie w dziewięćdziesięciu procentach Javy & C# i nazad ;p

Języki mają naprawdę wiele wspólnego.

ale ja mam troszkę odmienne zdanie ale zachowam narazie dla siebie ;)

 

Mówiłem o językach .NET.

W zasięgu tej platformy to w zasadzie jeden i ten sam język.

 

Języki .NET nie mają prawie nic wspólnego z innymi językami(chyba że z Javą).

Opublikowano

Mówiłem o językach .NET.

W zasięgu tej platformy to w zasadzie jeden i ten sam język.

 

Języki .NET nie mają prawie nic wspólnego z innymi językami(chyba że z Javą).

 

nic wspólnego? a z java mają?

C++, Java i C# bardzo są do siebie podobne i mają wiele wspólnego.

..x..

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...