Automatická kontrola aktualizácií programu v C #
Ak máte vlastný program a riešite problém s aktualizáciami - ako upozorniť užívateľa na novú verziu programu - Čítajte ďalej a dozviete sa ako na to.
Jasne, môžete si nastaviť napevno dátum a potom byť nútení do onoho súdneho dňa vydať novú verziu, ale je tu aj jednoduchšie spôsob -> zautomatizovanie.
Najskôr si načítame aktuálnu verziu (informácie z Assembly -> Version)
Assembly.GetExecutingAssembly (). GetName (). Version -> týmto dostaneme niečo také 1.0.0.0 -> formát Major, Minor, Build, Revision, ale my by sme radšej niečo také -> 1.0 Useknite zvyšok pomocou toString (2)
Celý kód potom bude vyzerať takto:
Pozn .: CultureInfo udáva informáciu o decimálnom
separátora (jednoducho čiarke) či bude "." alebo ","
InvariantCulture je štandard -> "." inak je v základe podľa
systémového nastavenia (v češtine) ","
using System.Reflection;//pro používání informací z assemblyinfo using System.Globalization;//pro culture info double CurrentVersion = double.Parse(Assembly.GetExecutingAssembly().GetName().Version.ToString(2), CultureInfo.InvariantCulture);
Potom si naparsujeme súbor, v ktorom budú dva riadky -> 1-> verzia; 2-> link (pre presmerovanie na súbor)
using System.Net;//pro načtení obsahu souboru z internetu using System.IO;//pro stream reader WebRequest request = WebRequest.Create("http://www.itnetwork.cz/scripts/programs_version.php?uniqid=xxxxx"); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream());
Php súbor vyzerá takto:
Pozn .: stačí uložiť textový súbor o dvoch riadkoch php použite ak tieto
informácie ukladáte do databázy
<?php require_once('mysql.php'); $query = mysql_query('SELECT name, version FROM table WHERE application = "ClockWork" LIMIT 1') or die(mysql_error()); $data = mysql_fetch_assoc($query); echo( $data['version'] . "\nhttp://www.itnetwork.cz/" . $data['name'] ); ?>
Naparsujeme si ony dva riadky.
using System.Globalization;//pro cultureinfo double NewestVersion = double.Parse(reader.ReadLine(), CultureInfo.InvariantCulture);//první řádka je verze string Link = reader.ReadLine();//druhá řádka je link
A hodíme tam jednoduchú dopytovací podmienku.
using System.Diagnostics;//pro process.start if (NewestVersion > CurrentVersion) { if (MessageBox.Show("Ke stažení je dostupná nová verze programu! ("+ NewestVersion.ToString() +")\nPřejete si ji stáhnout?", "Je dostupná aktualizace", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) Process.Start(Link); } else MessageBox.Show("Používáte poslední verzi!", "Aktualizace nenalezena");
Na stiahnutie prikladám zdrojový kód ukážky sa skompilovanými výsledkom.
Ste redaktorom na ITnetwork?
Potom môžete využiť nasledujúceho odkazu:
http://www.itnetwork.cz/smallapps/programs_version.php?uniqid=
Kde za rovná sa dosadíte uniqid vášho programu / hry, ktorý nájdete v
administračnej sekcii v editácii článku hneď na začiatku.
Výstupom je verzia softvér, tak ako je ukázaná v článku -> verzia \
nodkaz
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 489x (41.76 kB)
Aplikácia je vrátane zdrojových kódov v jazyku C#