Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 11:07

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Wie erstelle ich eine Updatefunktion in c#?^^

Discussion on Wie erstelle ich eine Updatefunktion in c#?^^ within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
b0sted's Avatar
 
elite*gold: 110
Join Date: May 2010
Posts: 487
Received Thanks: 214
Wie erstelle ich eine Updatefunktion in c#?^^

Hi. Wie erstelle ich eine UpdateFunktion in c#? Würde mich sehr über eine Hilfe freuen. Ich glaube ihr wisst was ich meine^^.
b0sted is offline  
Old 11/11/2015, 02:56   #2
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
public function update() { .. }

Nein genau wissen wir nicht, was du meinst.
Mikesch01 is offline  
Old 11/11/2015, 07:17   #3


 
_ᴋush#'s Avatar
 
elite*gold: 356
Join Date: Jul 2011
Posts: 1,295
Received Thanks: 108
Schätze mal du hast ein Programm und brauchst eine Funktion, welche regenmäßig nach Updates sucht?
_ᴋush# is offline  
Old 11/11/2015, 10:03   #4



 
elite*gold: 35
The Black Market: 110/0/0
Join Date: Dec 2009
Posts: 1,051
Received Thanks: 441
Du willst dein Programm durch das Programm selbst updaten lassen? Gibt zahlreiche vorgefertigte Klassen dafür, einfach Google nach "c# auto updater" befragen.

Prinzipiell benötigst du einen Server bzw. einen Webhost auf dem du die Updates und Versions-Infos ablegen kannst. In C# definierst du im Programm die derzeitige Version die der Nutzer hat. Auf dem Server wird dann abgefragt, was die neuste Version ist. Ist diese höher, wird die neuste Version zum Upload angeboten.

Pseudocode
int ver = 3;
int newVer = Int32.Parse(DownloadString("http://meinserver.com/aktuelleversion.txt"));
if(newVer > ver) DownloadFile("http://meinserver.com/meintool_" + newVer + ".exe");
i0N is offline  
Thanks
2 Users
Old 11/11/2015, 15:26   #5
 
elite*gold: 0
Join Date: Feb 2015
Posts: 6
Received Thanks: 0
Danke n8xtdev ^^. Hastn Thanks von mir
SangerHa is offline  
Old 11/11/2015, 16:08   #6

 
Nanoxx™'s Avatar
 
elite*gold: 15
Join Date: Feb 2013
Posts: 2,880
Received Thanks: 465
php -> Echo (MD5_VON_X.exe auf webserver)


update -> httprequest -> php
(if LocalMD5 != ServerMD5)
{
Update();
}
else
{
Run();
}


so in etwa.... ist leicht zu verstehen und funktioniert gut!
Nanoxx™ is offline  
Old 11/12/2015, 15:25   #7

 
elite*gold: 2
Join Date: May 2010
Posts: 2,254
Received Thanks: 1,919
Quote:
Originally Posted by dokayhan View Post
Hi. Wie erstelle ich eine UpdateFunktion in c#? Würde mich sehr über eine Hilfe freuen. Ich glaube ihr wisst was ich meine^^.
Grundsätzlich will ich erstmal wissen was du Updaten möchtest. Willst du nur deine Anwendung updaten können oder nur Dateien patchen können?

Für den 1. Fall würde ich eine Example.exe und eine update.exe schreiben, die Example.exe ruft die update.exe auf, wenn ein update verfügbar ist schließt es kurz die Example.exe, ersetzt die alte Example.exe mit der neuen, startet die Example.exe und beendet die update.exe (ist jetzt der Fall wenn man mit dem alten Programm nicht weiter arbeiten sollte... für neuere würde ich einen Updateinterval einbauen der nachfragt, sowie bei den adobe-Produkten)

Für den 2. Fall würde ich gepackte Dateien auf den Server legen die ID increased abgelegt werden, du musst natürlich Clientside die ID ebenfalls abspeichern, du gleichst beide IDs ab und lässt das Packet runterladen welches ClientID+1 ist und entpackst es, zählst deinen Counter hoch... bis der Patch gleichgezogen ist.

Vielleicht poste ich noch etwas Code aus meinen Projekten...
Ih¢sãs123 is offline  
Old 11/20/2015, 13:35   #8
 
-Venom''s Avatar
 
elite*gold: 10
Join Date: Jan 2015
Posts: 937
Received Thanks: 449
Ich stand letztens auch vor dieser Frage.
Ich habe es mir relativ einfach gemacht.

1. Programm Starten und Version über DownloadString prüfen.
Die neue Version kannst du in eine .txt Datei schreiben.
Beispiel:
Code:
1.0.1
Code:
Code:
static string VERSIONS_CHECK = "http://DeineDomainOderFTP/version.txt";
static string Reply;
static string Version = "1.0.0";
static string NEW_VERSION = "http://DeineDomainOderFTP/NEW.exe";
static string UPDATE_FOUND = "Update available! \nDo you want to download the update now ?";
static string UPDATE_READY = "New version has been downloaded. \nDo you want to start the new version now ?";

  private void CheckUpdate()
        {
            WebClient DownloadString = new WebClient();
            Reply = DownloadString.DownloadString(new Uri(VERSIONS_CHECK));

            if(Reply == Version)
            {
                return;
            }
            else
            {
                var result = MessageBox.Show(UPDATE_FOUND, "", MessageBoxButtons.OKCancel);
                if (result == System.Windows.Forms.DialogResult.OK)
                {
                    DownloadString.DownloadFileAsync(new Uri(NEW_VERSION), @Application.StartupPath + "\\" + "NEW.exe");
                    DownloadString.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadString_DownloadCompleted);
                }
                else
                {
                    WindowState = FormWindowState.Normal;
                }
            }
        }

        private void DownloadString_DownloadCompleted(object sender, AsyncCompletedEventArgs e)
        {
            var result = MessageBox.Show(UPDATE_READY, "", MessageBoxButtons.OKCancel);
            if(result == System.Windows.Forms.DialogResult.OK)
            {
                Process.Start(@Application.StartupPath + "\\" + "Updater.exe");
                Application.Exit();
            }
            else
            {
                Application.Exit();
            }
        }
In Load Form1 oder halt in der Load Funktion deiner Form
Code:
CheckUpdate()
aufrufen.


Danach lasse ich eine Updater.exe starten die den rest regelt wie Names Change und Programm neu Starten.

Code:
namespace Updater
{
    class Program
    {
        static void Main(string[] args)
        {
           if(File.Exists("ProgrammName.exe"))
           {
               File.Delete("ProgrammName.exe");
               File.Move("NEW.exe", "ProgrammName.exe");

               Console.Write("Datei wird nun gestartet. Bitte Warten");
               Console.Write("Datei wird nun gestartet. Bitte Warten");
               Console.Write("Datei wird nun gestartet. Bitte Warten");
               Console.Write("Datei wird nun gestartet. Bitte Warten");
               Process.Start("ProgrammName.exe");
           }
           else
           {
               File.Move("NEW.exe", "ProgrammName.exe");
           }

        }
    }
}
Sollte jemand Fragen zum Skript haben meldet euch einfach bei mir.
Personen die C# Lernen möchten sind auch gerne gesehen .
-Venom' is offline  
Old 11/20/2015, 15:51   #9
 
elite*gold: 50
Join Date: Oct 2015
Posts: 3
Received Thanks: 0
tyurderi is offline  
Reply


Similar Threads Similar Threads
Wie erstelle ich eine VMS?
11/15/2013 - Off Topic - 5 Replies
hey hab mal ne frage undzwar will ich warrock 2 mal laufen lassen wie geht das? mit einer VMS habe ich gehört wie mache ich eine VMS? MFG xCoDize
Wie erstelle ich eine surakopf.exe ?
04/26/2013 - Metin2 Private Server - 2 Replies
Hej leute, Wie erstelle ich eine surakopf.exe also den pong hab ich rausgefunden ´´506F6E67´´ bitte helft mir ::confused::handsdown::handsdown::handsdown:
Wie erstelle ich eine exe
09/16/2010 - Metin2 Private Server - 2 Replies
Hallöle ich wollte fragen ob mir einer ne exe via teamviewer erstellen mag oder mir nen how to link schick gibt nen thanks danke schonmal im vorraus
Wie erstelle ich eine Regipage?
12/29/2009 - Metin2 Private Server - 2 Replies
Also. Ich möchte gerne wissen wie kann ich eine Regipage erstellen? Ich habe Einfach keine lust jeden tag um die 5 accs zu erstellen und immer in die db zu Connecten? Weiss jemand wie man das macht? pls hilfe oder ein How To
Wie erstelle ich eine......
01/18/2009 - WoW Private Server - 4 Replies
Hallo Alle ich wollte euch mal was fragen ich hab schon alles versucht eine regiestrierungsseite für mein world of wacraft privat server zumachen aber mier ist es net gelungen. Hier meine frage:Wie erstellt man ne regiestrierungsseite für wow privat server? Vielleicht weis es ja einer. PLS HELP ME!!!^^:handsdown:



All times are GMT +1. The time now is 11:08.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.